制作AnQiCMS模板时,常用的变量命名和标签语法规则(如`{{变量}}`和`{% 标签 %}`)有哪些?

📅 👁️ 85

在AnQiCMS中制作模板,掌握其变量命名和标签语法规则是核心。系统基于Go语言开发,模板引擎借鉴了Django和Blade的语法风格,这使得内容输出和逻辑控制都变得非常直观。您在进行模板开发时,主要会接触到两种基本的语法结构,它们各自承担着不同的职责。

核心语法结构:变量输出与逻辑控制

首先是双花括号{{ 变量 }},它的作用非常直接,就是将系统或后台传递给模板的变量值“打印”到页面上。您可以把它想象成一个占位符,最终会替换成实际的数据。比如,要显示网站的名称,可能就会写成{{ system.SiteName }}

其次是单花括号与百分号{% 标签 %},这组标签则用于处理模板中的各种逻辑,例如条件判断、循环遍历、引入其他模板文件等。它不直接输出内容,而是控制内容的显示方式或结构。所有逻辑控制标签都需要一个相应的结束标签,以{% end标签 %}的形式出现,形成一个闭合的代码块。例如,一个条件判断会是{% if 条件 %} ... {% endif %}

变量的命名与访问

AnQiCMS中的变量命名通常遵循驼峰命名法则(CamelCase),这意味着变量名中的每个单词首字母会大写,例如Archive.TitleCategory.Link

当您需要访问一个变量内部的属性时,会使用点号.来进行层级访问。例如,archive是一个代表文章的对象,它的标题就是archive.Title,它的链接就是archive.Link。这种简洁的访问方式,让您可以清晰地获取所需的数据。

输出变量:{{...}}的实际应用

了解了基础语法后,我们来看看{{...}}在实际模板中的具体使用:

  • 直接输出变量值:这是最常见的用法,例如:
    
    <h1>{{ archive.Title }}</h1> {# 输出文章标题 #}
    <p>联系电话:{{ contact.Cellphone }}</p> {# 输出联系电话 #}
    
  • 结合过滤器(Filters)处理数据:有时我们需要对输出的数据进行格式化或转换。AnQiCMS提供了丰富的过滤器,通过管道符|来应用。
    • HTML内容安全输出:当变量包含HTML内容(如文章正文)时,为了确保浏览器正确解析而不是显示原始HTML代码,并且防止潜在的XSS攻击,通常需要使用|safe过滤器。
      
      <div>{{ archive.Content|safe }}</div> {# 安全输出文章HTML内容 #}
      
    • 日期时间格式化:数据库中存储的时间戳需要转换为可读的日期格式,stampToDate函数结合Go语言的时间格式化字符串非常实用。
      
      <span>发布日期:{{ stampToDate(archive.CreatedTime, "2006-01-02") }}</span> {# 将时间戳格式化为“年-月-日” #}
      
    • 文本截断:对于过长的文本,您可以使用|truncatechars|truncatewords进行截断。
      
      <p>{{ archive.Description|truncatechars:100 }}</p> {# 截断描述,保留100个字符 #}
      

逻辑控制:{%...%}标签的强大功能

{%...%}标签赋予了模板动态展示内容的能力:

  • 条件判断(ifelifelse:根据不同的条件显示不同的内容块。
    
    {% if archive.IsFeatured %}
        <span class="badge">推荐</span>
    {% elif archive.Views > 1000 %}
        <span class="badge">热门</span>
    {% else %}
        <span>普通内容</span>
    {% endif %}
    
  • 循环遍历(forempty:迭代数组或列表中的数据,常用于展示文章列表、导航菜单等。
    
    {% for item in archives %}
        <li><a href="{{ item.Link }}">{{ forloop.Counter }}. {{ item.Title }}</a></li>
    {% empty %}
        <li>暂无文章</li> {# 当archives列表为空时显示 #}
    {% endfor %}
    
    在循环中,forloop.Counter会返回当前循环的次数(从1开始),forloop.Revcounter则返回从尾部开始的剩余次数。
  • 定义变量(withset:在模板中创建临时变量,便于代码复用和组织。with标签定义的变量在{% with %}{% endwith %}之间有效,而set定义的变量在当前模板文件中具有更广的范围。 “`twig {% with greeting=“你好” %} <p

相关文章

安企CMS模板如何支持自适应、代码适配和PC+手机端独立显示模式?

在当今内容营销和网站运营中,如何确保网站在不同设备上都能提供优质的用户体验,是一个不容忽视的挑战。安企CMS(AnQiCMS)深知这一点,因此在模板设计和内容展示上提供了灵活多样的适配模式,让用户可以根据自身需求,轻松应对各种终端访问场景。 AnQiCMS的模板系统不仅支持Django模板引擎语法,易于上手,更重要的是,它提供了三种主要的网站模式,以适应不同级别的设备兼容性需求:自适应模式

2025-11-08

如何为特定文章或分类设置独立的显示模板文件?

在日常网站运营中,我们常常会遇到这样的情况:有些文章是深度报告,有些是活动宣传页,还有一些是企业简介或产品详情。它们各自有着独特的展示需求,如果都沿用网站的通用模板,可能会显得千篇一律,无法充分发挥内容的吸引力。安企CMS作为一款高效灵活的内容管理系统,充分考虑到了这种个性化需求,允许我们为特定的文章、分类甚至单页面设置独立的显示模板文件,让内容展示更加量身定制,富有冲击力。 设想一下

2025-11-08

在文档详情页,如何调用并展示文章的自定义模型字段内容?

安企CMS(AnQiCMS)的灵活内容模型是一个非常强大的工具,它允许我们根据网站的实际需求,为不同类型的内容(比如文章、产品、活动等)添加专属的字段。这意味着我们的内容不再局限于固定的标题、简介和内容,而是可以承载更多元化、结构化的信息。那么,在文档的详情页面,我们究竟该如何调用并展示这些自定义模型字段的内容呢? 接下来,我们就一起探索安企CMS提供的几种灵活方式。 ###

2025-11-08

安企CMS如何实现不同类型内容(文章、产品、单页)的个性化前端展示?

在安企CMS中,实现不同类型内容(如文章、产品、单页)的个性化前端展示,是其核心优势之一,也是内容运营者实现品牌差异化、提升用户体验的关键。这主要得益于安企CMS灵活的内容模型设计和强大的模板定制能力。 ### 灵活内容模型:个性化展示的基础 安企CMS的核心在于其“灵活的内容模型”。这意味着您不仅仅局限于固定的“文章”或“产品”类型,而是可以根据实际业务需求,自定义各种内容模型。例如

2025-11-08

如何在前端页面中高效地组织和引用模板中的公共页头、页脚等代码片段?

在安企CMS中管理前端页面代码,特别是页头、页脚等需要在多个页面中重复出现的代码片段,是提升开发效率和网站可维护性的关键。安企CMS提供了强大且灵活的模板引擎,让我们能够通过优雅的方式组织和引用这些通用代码。 ### 理解模板复用的重要性 设想一下,如果您的网站有几十个甚至上百个页面,每个页面都独立地包含了完整的页头、导航、页脚代码。当网站的Logo需要更换,或者页脚的版权信息需要更新时

2025-11-08

如何在安企CMS中自定义内容在前端页面的展示布局?

安企CMS (AnQiCMS) 作为一个高效、灵活的内容管理系统,其强大的模板功能和内容模型为我们提供了极大的自由度,可以根据网站的实际需求,精细化地控制内容在前端页面的展示布局。要实现这一目标,我们需要深入理解安企CMS的模板引擎、内容模型以及内置标签的运用。 --- ### 安企CMS 布局定制的核心要素 在安企CMS中自定义内容布局,主要围绕以下几个核心要素展开: 1.

2025-11-08

安企CMS如何实现不同页面(如文章、产品、单页)使用独立模板进行显示?

在网站运营中,我们常常需要针对不同类型的内容,如一篇深度文章、一个产品展示页或是一个“关于我们”的单页面,采用截然不同的布局和设计风格。这种差异化的展示不仅能提升用户体验,更能帮助内容更好地传达信息,达成营销目标。AnQiCMS(安企CMS)在这方面提供了非常灵活且强大的解决方案,让我们可以轻松实现不同页面使用独立模板进行显示。 安企CMS的核心设计理念之一就是“灵活的内容模型”

2025-11-08

如何配置安企CMS以支持响应式设计或独立的移动端内容显示?

在当今多设备并存的时代,网站能够良好地适应各种屏幕尺寸,无论是PC、平板还是手机,已成为一项基本要求。安企CMS(AnQiCMS)深知这一点,并提供了多种灵活的配置选项,帮助你轻松实现响应式设计或独立的移动端内容显示,确保你的内容在任何设备上都能给用户带来优质的浏览体验。 安企CMS提供了三种主要的网站模式来支持多终端显示:自适应、代码适配和PC+手机独立站点

2025-11-08