模板标签说明
模板目录结构、模板解析规则,以及全局标签与循环标签的写法与排错方法。
一、模板目录与解析规则
前台模板分电脑端与手机端两套:template/pc 放电脑端模板,template/wap 放手机端模板,两边文件名一一对应;另有 template/public 存放两端共用的登录、注册、关于我们、免责声明等页面。
模板里的 ${xxx.html} 写法由 core/Template.php 解析:${top.html} 取电脑端 template/pc/top.html,加上 wap 前缀则取手机端,例如 ${wapTop.html} 对应 template/wap/top.html,${wapFoot.html} 对应 template/wap/foot.html。因此头部、底部这类公共区块只维护一份,改一个文件即全站生效。
本系统由 .NET 版迁移而来。旧版模板是 .aspx 加母版页写法,PHP 版统一改写成 .html 模板加 ${标签},标签名基本保留,迁移时主要是换掉解析写法与表单地址。
二、全局标签
全局标签由控制器与 core/Template.php 注入,写在模板任意位置即可:
| 标签 | 含义 | 标签 | 含义 |
|---|---|---|---|
${WebName} | 网站名 | ${WebDomain} | 网站域名 |
${WebTitle} | 网站标题 | ${WebKeywords} | 网站关键词 |
${WebDescription} | 网站描述 | ${WebStat} | 统计代码 |
${WebNav} | 电脑主导航 | ${WebNav1} | 快速导航 |
${WebYear} | 当前年份 | ${WebIpc} | 备案号 |
${WebNav} 输出形如 <li class="fi">导航1</li>…<li class="ei">导航n</li>,直接放进 <ul> 即可。手机导航用带参数的循环标签:<!--${WebWapNav,24}内部标签${EndWebWapNav}-->,其中的数字是调用数量。
三、循环调用标签
列表类内容都用 <!--${标签,参数}内部 HTML${End标签}--> 的成对写法,中间部分会自动循环:
<!--${WebMess,0,0,0,50}-->
<li><a href="${kLink}">${kTitle,0}</a><span>${kDate}</span></li>
<!--${EndWebMess}-->
以上为新版标签,四个数字依次是分类 ID(0 为全部)、是否显示置顶(0 不显示、1 显示、2 仅置顶)、是否有图、调用条数。旧标签只有前三个数字,按需替换即可。${kTitle,0} 里逗号后的数字控制输出字数,0 表示不限。
四、修改步骤与排错
- 先整目录备份,只替换需要改动的单个文件,避免整站覆盖。
- 只改
${}之间的内容与外围 HTML 结构,不要删掉成对的<!--${End…}-->,否则其后的内容不再循环。 - 改完在后台执行「更新缓存」,再刷新前台核对。
- 标签原样显示而不解析,多是标签名拼写不符或成对标记缺失;区域显示为空,则回到控制器确认该标签是否被注入。
排错时可临时清理 runtime 一类编译缓存后再试;重要模板改动前保留 .bak 副本,出问题可以直接换回。