迅睿系统层提供统一的模板引擎 \Phpcmf\View(通过 \Phpcmf\Service::V() 调用):把模板标签编译为 PHP,缓存到 cache/template/ 后输出。
前台模板根目录为常量 TPLPATH(默认项目根下 template/)。
| 位置 | 用途 |
|---|---|
template/(TPLPATH) | 前台模板根目录;系统首页等可直接放置如 index.html、404.html、msg.html |
dayrui/Fcms/View/ | 后台核心视图(禁止直接修改) |
dayrui/My/View/ | 覆盖后台/系统视图的推荐位置;可按应用再建子目录 |
dayrui/App/{应用}/Views/ | 应用自身视图(后台页、应用页面常用) |
cache/template/ | 模板编译缓存(可清空,勿当源文件目录) |
控制器通过 display('文件名.html') 输出;系统会按当前场景在应用 Views、My/View、前台模板根、后台 View 等路径中解析实际文件。
也可用 Service::V()->dir() / set_dir() 强制指定模板目录。
assign:注入模板变量。
display($文件名, $目录 = ''):编译并输出。
开发者模式或后台调试开启时,页面源码可能带当前模板路径注释,便于排查。
解析流程:定位模板文件 → 编译写入 WRITEPATH.'template/' → 钩子 cms_view_display / cms_view → include。
可在自定义函数 my_parser_view_rule() 中于编译前改写模板源码。
| 标签 | 说明 |
|---|---|
{$var} / {$a.b} | 输出变量;支持多维点语法 |
{CONST} | 输出常量 |
{func(...)} | 调用函数 |
{Class::method(...)} | 调用类方法 |
{template "x.html"} | 引入其它模板 |
{load "x"} | 加载指定文件 |
{php}...{/php} | 嵌入 PHP |
{if} / {else} / {/if} | 条件 |
{loop}...{/loop} | 遍历 |
{for}...{/for} | 循环 |
{list ...}...{/list} | 数据列表标签(动作语义多与插件/业务相关,详见标签专篇) |
{empty}...{/empty} | 列表为空时 |
系统/应用开发:改 template/、应用 Views/ 或 My/View,勿改 Fcms/View。
模板不生效时:清理 cache/template/ 或后台更新缓存,并确认 display 文件名与实际路径一致。
IS_EDIT_TPL 允许后台改模板,生产环境勿长期开启。