Eyoucms程序开发:标签库
内置的模板引擎除了支持普通变量的输出之外,更强大的地方在于标签库功能。
标签库类似于Java的Struts中的JSP标签库,每一个标签库是一个独立的标签库文件,标签库中的每一个标签完成某个功能,采用XML标签方式(包括开放标签和闭合标签)。
标签库分为内置和扩展标签库,内置标签库是Cx
标签库。
导入标签库
使用taglib标签导入当前模板中需要使用的标签库,例如:
{taglib name="html" /}
如果没有定义html标签库的话,则导入无效。
也可以导入多个标签库,使用:
{taglib name="html,article" /}
导入标签库后,就可以使用标签库中定义的标签了,假设article标签库中定义了read标签:
{article:read name="hello" id="data" }
{$data.id}:{$data.title}
{/article:read}
在上面的标签中,{article:read}... {/article:read}
就是闭合标签,起始和结束标签必须成对出现。
如果是 {article:read name="hello" /}
就是开放标签。
闭合和开放标签取决于标签库中的定义,一旦定义后就不能混淆使用,否则就会出现错误。
内置标签
内置标签库无需导入即可使用,并且不需要加XML中的标签库前缀,ThinkPHP内置的标签库是Cx标签库,所以,Cx标签库中的所有标签,我们可以在模板文件中直接使用,我们可以这样使用:
{eq name="status" value="1" }
正常
{/eq}
如果Cx不是内置标签的话,可能就需要这么使用了:
{cx:eq name="status" value="1" }
正常
{/cx:eq}
更多的Cx标签库中的标签用法,参考内置标签。
内置标签库可以简化模板中标签的使用,所以,我们还可以把其他的标签库定义为内置标签库(前提是多个标签库没有标签冲突的情况),例如:
'taglib_build_in' => 'cx,article'
配置后,上面的标签用法就可以改为:
{read name="hello" id="data" }
{$data.id}:{$data.title}
{/read}
标签库预加载
标签库预加载是指无需手动在模板文件中导入标签库即可使用标签库中的标签,通常用于某个标签库需要被大多数模板使用的情况。
在应用或者模块的配置文件中添加:
'taglib_pre_load' => 'article,html'
设置后,模板文件就不再需要使用
{taglib name="html,article" /}
但是仍然可以在模板中调用:
{article:read name="hello" id="data" }
{$data.id}:{$data.title}
{/article:read}
相关文档
- 关键词排名查询渠道大揭秘!搜索引擎、第三方平台和SEO软件都能查
- 揭秘SEO刷排名:让网站脱颖而出的捷径及搜索引擎算法真相
- 网站关键词排名难?内容问题多,搜索引擎可不傻
- 深圳搜索引擎生态:百度、谷歌、本地论坛及微信搜索全解析
- 网页首页被搜索引擎K掉,竟是因手贱改了个标题?
- 东莞老板搞网站优化遇难题,套路多易触搜索引擎红线
- 用ai写的文章会被搜索引擎识别吗
- 优化钦州的搜索引擎网站:主要注意事项
- 深入探讨搜索引擎营销(SEM):多方面个人见解剖析
- 如何让各大搜索引擎收录你的网店.doc
- 搜索引擎优化从业者的日常:深挖网站数据与提升权重全流程解析
- 移动端修改标题标签怎么改?
- CPS联盟怎么赚钱,普通人如何参与,商家能获得什么好处
- 小旋风下载站模板三天上实战:百度收录暴涨200%的泛目录布局技巧
- 小旋风泛目录站群好还是级模板好?低成本建站与收录速度实测解析
- 小旋风泛目录MIP模板配置皮书
- 医疗行业泛目录实战:小风模板干扰码+地域跳转插件效果验证
- 医疗行业网站被降权?蜘池x621城市标签系统如何实现精准权重恢复
- 【电商运营】蜘蛛搜索引擎在线搜索抓取慢?3步提升收录速度(附工具...
- 2025泛目录最新技术:AI动繁殖引擎如何突破极光算法封锁
上一篇: Eyoucms程序开发:包含文件
下一篇: Eyoucms程序开发:架构总览