AnQiCMS模板引擎的基本语法规则是什么,用于显示内容?

📅 👁️ 105

AnQiCMS提供了一套直观且功能强大的模板引擎,它的设计理念是让网站内容的展示既灵活又易于上手。如果您熟悉Django或Blade这类模板语法,那么AnQiCMS的模板引擎对您来说会非常亲切。它致力于将复杂的后端数据以清晰、易读的方式呈现在网站前台,让内容运营者能够专注于内容的创造和优化,而非深陷代码细节。

模板引擎核心语法:构建内容显示的基石

AnQiCMS模板引擎的基本语法主要围绕两种标记方式展开:

  1. 变量输出: 当您需要在页面上直接显示某个数据或内容时,会使用双花括号 {{ 变量名称 }}。例如,要显示网站的名称,您可能看到 {{ siteName }} 这样的标记。这里值得注意的是,模板中的变量通常遵循驼峰命名法则,即每个单词的首字母大写,例如 archive.Titlecategory.Link

  2. 逻辑与控制流: 对于更复杂的展示逻辑,比如条件判断(如果满足某个条件就显示某段内容)或循环(遍历一组数据并逐一显示),模板引擎提供了单花括号加百分号的标记方式 {% 标签名 参数 %}。这类标签通常需要成对出现,有开始标签就必须有结束标签,如 {% if 条件 %}...{% endif %}{% for item in list %}...{% endfor %}。这确保了逻辑块的完整性。

在模板文件的组织上,AnQiCMS约定使用 .html 作为模板文件的后缀,并将它们统一存放在站点的 /template 目录下。而图片、CSS样式、JavaScript脚本等静态资源则独立存放在 /public/static/ 目录中。为了确保页面正常显示,所有模板文件都应采用UTF8编码。

灵活展示内容:常用标签与实践

AnQiCMS的强大之处在于其丰富的内置标签,它们让显示各种类型的内容变得简单:

获取网站全局信息

  • 系统设置标签 (system): 用于获取网站名称、LOGO、备案号、基础URL等全局配置。
    
    <title>{{% system with name="SiteName" %}}</title>
    <img src="{{% system with name="SiteLogo" %}}" alt="网站Logo" />
    
  • 联系方式标签 (contact): 轻松调取网站后台设置的联系人、电话、地址、邮箱等信息。
    
    电话:{{% contact with name="Cellphone" %}}
    地址:{{% contact with name="Address" %}}
    
  • 万能TDK标签 (tdk): 对于SEO至关重要,它可以根据当前页面类型(首页、文章、分类等)自动生成或获取设定的titlekeywordsdescription
    
    <meta name="description" content="{{% tdk with name="Description" %}}">
    

构建导航与页面结构

  • 导航列表标签 (navList): 用于生成网站的顶部、底部或侧边导航菜单。它能处理多级导航,并根据当前页面状态高亮显示选中项。
    
    <ul>
    {% navList navs %}
        {% for item in navs %}
            <li class="{% if item.IsCurrent %}active{% endif %}">
                <a href="{{ item.Link }}">{{ item.Title }}</a>
            </li>
        {% endfor %}
    {% endnavList %}
    </ul>
    
  • 面包屑导航标签 (breadcrumb): 自动生成当前页面到首页的层级路径,提升用户体验。
    
    {% breadcrumb crumbs with index="首页" %}
        {% for item in crumbs %}
            <span><a href="{{ item.Link }}">{{ item.Name }}</a></span>
        {% endfor %}
    {% endbreadcrumb %}
    

展示内容分类与单页

  • 分类列表标签 (categoryList): 获取文章、产品等内容模型下的分类列表,支持按模型ID和上级分类ID筛选。
    
    {% categoryList categories with moduleId="1" parentId="0" %}
        {% for item in categories %}
            <h3><a href="{{ item.Link }}">{{ item.Title }}</a></h3>
        {% endfor %}
    {% endcategoryList %}
    
  • 分类详情标签 (categoryDetail): 获取特定分类的详细信息,如分类标题、描述、缩略图等。
    
    <h1>{{% categoryDetail with name="Title" %}}</h1>
    <div>{{% categoryDetail with name="Description" %}}</div>
    
  • 单页面列表 (pageList) 和详情 (pageDetail): 类似分类标签,但用于展示“关于我们”、“联系我们”等独立单页的内容。

核心内容:文章与产品展示

这部分是网站内容运营的核心,AnQiCMS提供了强大的标签来处理文章和产品的列表与详情。

  • 文档列表标签 (archiveList): 这是最常用的标签之一,用于获取文章或产品的列表。它支持多种筛选和排序方式:
    • 按模型ID和分类ID: moduleId="1" categoryId="1"
    • 排序: order="id desc" (最新发布), order="views desc" (浏览量最高)
    • 列表类型: type="list" (普通列表), type="page" (带分页的列表), type="related" (相关文章)
    • 数量限制: limit="10"
    • 搜索关键词: q="关键词"
    {% archiveList archives with type="page" moduleId="1" limit="10" %}
        {% for item in archives %}
            <a href="{{ item.Link }}">
                <h3>{{ item.Title }}</h3>
                <p>{{ item.Description }}</p>
                <span>发布日期:{{ stampToDate(item.CreatedTime, "2006-01-02") }}</span>
            </a>
        {% endfor %}
    {% endarchiveList %}
    
  • 文档详情标签 (archiveDetail): 用于展示单篇文章或产品的详细内容。可以直接输出文档的标题、正文、浏览量、自定义字段等。
    
    <h1>{{% archiveDetail with name="Title" %}}</h1>
    <div class="content">{{% archiveDetail with name="Content" lazy="data-src" %}|safe}}</div>
    <span>浏览量:{{% archiveDetail with name="Views" %}}</span>
    
  • 上一篇文档 (prevArchive) 和 下一篇文档 (nextArchive): 方便用户在阅读详情时进行内容切换。

相关文章

如何利用定时发布功能精确控制内容在网站上的显示时间?

在内容运营的日常工作中,内容的发布时机往往与传播效果、用户触达以及网站整体活跃度息息相关。无论是为了迎合用户活跃高峰、配合营销活动,还是仅仅为了保持网站的规律性更新,精确控制内容在网站上的显示时间都显得尤为重要。安企CMS深知这一点,因此专门设计了高效便捷的定时发布功能,让内容上线变得更加有策略、自动化。 ### 精准掌控内容上线时机 想要利用安企CMS的定时发布功能,过程其实非常直观

2025-11-08

如何根据用户组和VIP等级控制特定内容的显示权限?

在网站运营中,为不同用户群体提供差异化的内容体验是提升用户粘性、实现内容变现的重要策略。安企CMS(AnQiCMS)的用户组和VIP系统,正是帮助我们实现这一目标的关键功能。通过灵活设置内容的显示权限,您可以轻松打造付费内容、会员专享文章或分级阅读服务,让您的网站内容更具价值。 ### 深入了解安企CMS的用户组与VIP系统 安企CMS内置的用户组管理与VIP系统

2025-11-08

AnQiCMS如何通过防采集和水印功能保护显示内容的版权?

在数字时代,原创内容的价值不言而喻,但随之而来的内容盗用和抄袭问题也日益突出。对于辛勤创作的站长和企业来说,如何有效保护自己的数字资产,成为一个重要的课题。安企CMS(AnQiCMS)深知这一痛点,在系统设计之初就将内容版权保护置于核心位置,特别是通过其内置的防采集干扰码和图片水印功能,为用户提供了全面而高效的内容保护策略。 ### 内容防采集:保护文字原创思想 想象一下,您精心撰写的文章

2025-11-08

伪静态设置如何影响网站URL的显示结构?

您有没有注意到,有些网站的网址结构清晰明了,一眼就能看出页面的内容,而有些则充斥着复杂的问号和数字,让人摸不着头脑?这种差异很大程度上就来源于网站的“伪静态”设置。在安企CMS中,伪静态是一个非常实用且强大的功能,它能深刻影响您的网站URL的显示结构,进而对网站的搜索引擎优化(SEO)和用户体验产生重要影响。 ### 什么是伪静态,以及它为何重要? 首先,让我们简单理解一下什么是伪静态。通常

2025-11-08

如何配置网站在不同设备上(PC、手机)的自适应显示?

在当今移动互联网盛行的时代,网站能否在不同设备上(无论是大屏幕PC,还是小巧的手机)都能提供流畅、美观的浏览体验,已成为衡量一个网站成功与否的关键因素。AnQiCMS深知这一痛点,为您提供了灵活且强大的自适应显示配置能力,让您的网站轻松驾驭多屏世界。 AnQiCMS将网站的自适应显示方式划分为三种主要模式,您可以根据自己的业务需求和技术偏好,选择最适合的方案。 ### 一、自适应模式

2025-11-08

新版内容模型功能如何提升内容显示灵活性?

在当今快速变化的数字世界里,网站承载的内容早已不再是简单的文章和产品介绍。从一场精彩的线上活动、一份详细的客户案例,到一支专业的团队介绍、一个复杂的服务流程,每种内容都有其独特的属性和呈现方式。如果您的内容管理系统(CMS)依然只能用“文章”或“产品”的通用模板来发布所有信息,那无疑会给内容创作和显示带来诸多限制。 传统的CMS常常面临一个痛点:当您需要发布一种新的内容类型时,比如“招聘职位”

2025-11-08

如何在AnQiCMS中显示文章或产品的Tag标签列表?

在安企CMS中,灵活地展示文章或产品的Tag标签列表,是提升网站内容组织性和用户体验的关键一环。通过精心设计的标签,不仅能帮助访客快速找到感兴趣的内容,还能有效优化搜索引擎抓取,提升网站的SEO表现。今天,我们就来深入了解如何在AnQiCMS中充分利用Tag标签功能,让您的网站内容焕发新的活力。 ### 理解AnQiCMS中的Tag标签 在AnQiCMS的管理后台

2025-11-08

后台模板编辑功能是否支持实时预览内容显示效果?

安企CMS在网站内容管理领域以其高效、灵活的特点受到众多运营者的青睐。当我们谈及网站的视觉呈现和用户体验时,模板的定制化能力无疑是核心。其中,后台模板编辑功能与内容显示效果的实时预览,是许多用户关注的焦点。 ### 安企CMS的模板编辑能力:强大且灵活 安企CMS为用户提供了强大且灵活的后台模板编辑功能。系统采用了类似Django的模板引擎语法,这种语法对于熟悉前端开发或模板语言的用户来说

2025-11-08