AnQiCMS 以其高效、灵活的特点,成为内容管理的好帮手。网站内容的呈现离不开模板,而在 AnQiCMS 的模板体系中,{{变量}} 和 {% 标签 %} 是构建动态页面、实现强大功能的核心元素。它们各自承担着不同的职责,又紧密协作,让我们的网站内容鲜活起来。
{{变量}}:数据的直观呈现
想象一下,你希望在页面上显示一篇文章的标题,或者网站的名称。这时,我们就会用到双大括号 {{变量}}。它的主要作用是将后台处理好的数据直接输出到网页上。你可以把它看作是一个占位符,AnQiCMS 会在页面渲染时,把这个占位符替换成实际的数据。
例如,想要显示当前文章的标题,可以使用 {{archive.Title}};想展示网站的备案号,可以写 {{system.SiteIcp}}。这些变量通常遵循驼峰命名法,首字母大写,便于识别。除了直接输出文本、数字和链接,{{变量}} 还能处理更复杂的数据类型,比如图片路径 {{archive.Logo}}。
为了让数据以更美观、更实用的方式呈现,{{变量}} 还支持强大的过滤器(Filters)功能。过滤器通过 | 符号连接在变量名之后,可以对数据进行格式化、截取或转换。比如,一个时间戳 {{item.CreatedTime}} 可以通过 {{item.CreatedTime|stampToDate:"2006-01-02"}} 转换为易读的日期格式;长文本 {{item.Description}} 可以通过 {{item.Description|truncatechars:100}} 截取固定字数并加上省略号,避免内容溢出。这些过滤器让数据展示更加灵活多样。
{% 标签 %}:逻辑与控制的艺术
如果说 {{变量}} 负责“显示什么”,那么 {% 标签 %} 则负责“如何显示”和“何时显示”。它主要用于实现模板中的逻辑控制、循环迭代、条件判断以及调用各种内置功能。
条件判断:{% if %} 标签
页面内容并非一成不变,很多时候需要根据特定条件来显示或隐藏某个区块。{% if 条件 %} 标签便是为此而生。你可以用它来判断某个变量是否存在、是否等于某个值,或者进行更复杂的逻辑比较。例如,{% if archive.Id == 10 %} 显示特定文章内容,{% else %} 显示其他。{% elif %} 和 {% else %} 提供了多分支选择,让逻辑判断更精细。这种标签需要用 {% endif %} 来闭合。
循环迭代:{% for %} 标签
网站中大量内容都是列表形式,比如文章列表、产品列表、导航菜单等。{% for item in collection %} 标签能够遍历集合中的每一个元素,并对每个元素执行相同的模板代码。这极大地减少了重复编写的模板代码。比如,通过 {% archiveList archives with type="list" limit="10" %} 获取一个文章列表,然后用 {% for item in archives %} 逐一显示每篇文章的标题、简介等信息。值得