页面自带的变量
SEO 三件套、canonical、当前路径、语言、面包屑、列表统计 —— 这些不是标签,是变量,取法就是写名字。
适用范围:大多数页面。写页头页脚时最常用。
这些不是标签,是控制器交给模板的值。取法就是 {名字},可以带修饰符。
{seo.title} {seo.keywords} {seo.desc}当前页的 SEO 三件套(页头里那三个 meta){canonical}规范地址。多语言站按语言区分 —— 所有语言都指同一个 canonical 等于白翻{currentPath}当前路径。导航高亮就是拿它和导航项的 url 比{title}页面主标题(部分页面提供,如商品列表的「全部商品」){keyword}搜索关键词{lang.html} {lang.dir} {lang.name} {lang.code} {lang.prefix} {lang.on}当前语言。写在 <html lang="…" dir="…"> 上{lang.hreflang html="1"}输出各语言的 hreflang 标注。必须带 html="1",否则标签会被转义成文本显示在页面上{lang.list}语言列表,配 {naicha:loop from="lang.list" as="L"} 用(语言切换器){listTotal} {listPages} {listItems}最近一次 {naicha:list} 的总数 / 页数 / 本次条数。写「共 N 条」「没有结果」靠它们{shopTotal} {shopItems}最近一次 {naicha:shop} 的同名统计(命名刻意与 list 一致){crumbs}面包屑数组,配 {naicha:loop from="crumbs" as="c"},行内可用 {c.name} {c.url}{category.…}当前栏目(栏目页与详情页提供),如 {category.alias} {category.name}{hasShop} {shopItem.…} {shopUnlock.…} {loginUrl}详情页的商品与付费解锁。hasShop 是 '1'/'0' 开关(不要让模板去判断数组——引擎对数组会先 count){viewSwitch.on} {viewSwitch.url} {viewSwitch.label}手机版 / 电脑版切换入口
取不到的值一律是空串,不报错。变量写错了、字段不存在、循环外取循环内的字段,
页面都照常渲染,只是那块是空的 —— 方便,但也意味着拼错不会有人告诉你。
写模板卡住时,先看「容易踩的坑」那一篇的失败模式表。
