迅睿CMS 模板标签速查:列表、详情、分页怎么写

· 迅睿CMS · 阅读 9
摘要

先说结论迅睿CMS 的模板体系是标签驱动:列表用列表标签、详情用详情标签、分页用分页标签。记住这三类,80% 的页面就能写出来。一、模板文件在哪里前台模板一般在 template/ 目录下,按模板名分文件夹;首页通常是 index.html

先说结论

迅睿CMS 的模板体系是标签驱动:列表用列表标签、详情用详情标签、分页用分页标签。记住这三类,80% 的页面就能写出来。

一、模板文件在哪里

  • 前台模板一般在 template/ 目录下,按模板名分文件夹;
  • 首页通常是 index.html,列表页 list.html,详情页 show.html;
  • 公共头部、底部一般拆成 header.html、footer.html。

二、列表标签

列表页的核心是「取某栏目下的内容」。典型结构:

{module module=article catid=$catid num=10 page=1}
    <li>
        <a href="{$t['url']}">{$t['title']}</a>
        <span>{$t['updatetime']}</span>
    </li>
{/module}

要点:

  • module 指定模型,catid 指定栏目($catid 表示当前栏目);
  • num 是每页条数,page 是当前页;
  • $t 是循环变量,字段名对应模型字段。

三、详情标签

详情页取当前文章:

{$data['title']}
{$data['content']}
{$data['updatetime']}

注意 content 是富文本,输出时不要再转义,否则 HTML 会变成纯文本。

四、分页标签

列表页配合分页:

{$pages}

该变量由列表标签自动生成,输出的是完整分页 HTML。若要自定义样式,可用 {$pagehtml} 或拆解 $pagelist。

五、常用控制结构

场景写法
条件判断{if $data['thumb']}...{else}...{/if}
循环数组{loop $list $k $v}...{/loop}
截取字符串{dr_strcut($data['title'], 30)}
时间格式化{dr_date($data['updatetime'], 'Y-m-d')}
引入公共模板{template "header"}

六、调试技巧

  1. 标签不生效先看缓存:后台清缓存再刷新;
  2. 数据为空时用 {dr_debug($data)} 打印结构,确认字段名拼写;
  3. 模板报错先看 cache/ 下的编译文件,错误行号以编译文件为准。

总结

迅睿CMS 模板不难,难在记不清字段名和标签参数。建议本地存一份「标签速查表」,写模板时对照,比每次翻文档快得多。