AnQiCMS 提供了高度灵活的模板自定义能力,帮助我们不仅能搭建功能完善的网站,更能实现与众不同的个性化内容展示布局。这种灵活性是 AnQiCMS 的核心优势之一,尤其对于追求品牌独特性和用户体验的中小企业或内容运营团队来说,深入了解模板自定义是发挥其最大潜力的关键。
第一步:理解 AnQiCMS 模板体系的基础
AnQiCMS 采用了类似 Django 模板引擎的语法,这使得熟悉 Web 开发的用户可以非常容易上手。它的模板文件以 .html 为后缀,统一存放在系统的 /template 根目录下。与模板相关的样式、JavaScript 脚本、图片等静态资源,则会单独放置在 /public/static/ 目录中。
每个模板都有一个“身份证”——config.json 文件,它包含了模板的名称、版本、作者、描述等基本信息,以及一个重要的设置项 template_type,用于定义模板的适配类型,例如自适应、代码适配或 PC+手机端独立模式。这让我们在选择和开发模板时能有清晰的方向。
在文件组织上,AnQiCMS 支持两种模式:文件夹组织模式和扁平化文件组织模式。无论选择哪种,都有约定俗成的文件命名规则,例如首页通常是 index.html 或 index/index.html,文档详情页可以是 {模型table}/detail.html,分类列表页是 {模型table}/list.html 等。理解这些约定,能让我们快速定位和修改目标页面。
第二步:掌握模板文件类型与自定义路径,实现精细化控制
AnQiCMS 在内容展示布局上的个性化,很大程度上得益于其对不同内容类型指定独立模板的能力。这超越了简单的全局样式,允许我们为网站上的每一个“元素”——无论是文章、产品分类还是独立的单页面——设计独特的视觉呈现。
举例来说,如果我们的网站有一个“关于我们”的单页面,希望它拥有与其他页面截然不同的布局和设计,我们可以创建一个名为 page/about.html 的模板文件。然后在后台编辑“关于我们”这个单页面时,将其模板指定为 about.html。这样,当用户访问“关于我们”页面时,系统就会加载这个专属模板,实现完全个性化的展示。
同样地,对于特定的文档分类或某个特定的文档详情,我们也可以通过在后台指定自定义模板的方式,让它们呈现出独有的布局。这意味着,我们可以为新闻资讯设计简洁明了的列表样式,为产品展示设计图文并茂的卡片布局,而这一切都无需改动整个网站的通用模板。
AnQiCMS 还特别考虑了移动端的需求。如果我们的模板是代码适配或 PC+手机端独立模式,可以在模板根目录下创建一个 mobile/ 目录。在这个目录中,我们可以为移动端复制与桌面端相同的模板结构,并进行针对性的优化和修改,确保在不同设备上都能提供**的用户体验。
第三步:利用模板标签动态展示内容,赋予布局生命力
模板文件只是布局的“骨架”,真正让内容动起来、活起来的,是 AnQiCMS 丰富的模板标签和过滤器。它们扮演着“数据连接器”和“内容处理工具”的角色,将后台管理的数据动态地呈现在前端。
核心的语法规则非常直观:使用双大括号 {{ 变量 }} 来输出数据,使用单大括号和百分号 {% 标签 %} 来调用功能或控制逻辑。
获取网站基础信息:
{% system %}标签能帮助我们轻松获取网站名称、LOGO、备案号、版权信息等全局设置;{% contact %}则用于获取联系方式,如电话、地址、邮箱等,甚至包括后台自定义的联系方式字段。这些是网站头部和底部等公共区域的常客。构建导航和页面结构:
{% navList %}标签非常强大,能生成多级导航菜单,结合if标签,我们可以轻松实现复杂的下拉菜单或侧边栏导航布局。{% breadcrumb %}则能自动生成符合 SEO 规范的面包屑导航,提升用户体验。核心内容展示:
- 列表展示:
{% archiveList %}和{% categoryList %}是最常用的标签,用于展示文章列表、产品列表或分类列表。它们支持按分类ID、模型ID、推荐属性(如头条、推荐)、排序方式(最新、最热)等多种条件筛选内容。结合for循环标签,我们可以灵活地控制每一项内容的展示样式,例如文章摘要、缩略图、发布时间等。 - 详情展示:
{% archiveDetail %}、{% categoryDetail %}和{% pageDetail %}分别用于获取文档、分类和单页面的详细信息。通过name参数,我们可以精确调用标题、内容、图片、描述等任何字段,并使用safe过滤器安全地输出包含 HTML 的内容。 - 分页功能:
{% pagination %}标签与archiveList配合使用,能自动生成美观的分页导航,让大量内容井然有序。
- 列表展示:
增强交互与内容组织:
{% guestbook %}标签能自动生成后台配置的留言表单,方便用户提交信息。{% linkList %}则用于管理友情链接。{% tagList %}和{% tagDataList %}标签则有助于展示和利用网站的标签系统,将相关内容串联起来,提升内容深度和 SEO 效果。逻辑控制与代码复用:
{% if %}标签用于条件判断,例如判断是否有图片、是否有子分类等,从而调整布局。{% for %}标签用于循环遍历数据列表,是动态内容展示的基础。{% include %}用于引入公共代码片段,如页头、页脚;{% extends %}用于模板继承,构建统一的页面骨架;{% macro %}则能定义可复用的代码块,减少重复编写。
第四步:通过内容模型扩展数据维度,挖掘个性化潜力
AnQiCMS 最大的亮点之一是其“灵活的内容模型”和“自定义字段”功能。这赋予了我们无限的想象空间来定义和展示内容。
在后台,我们可以创建或修改内容模型(例如“文章”模型或“产品”模型),并为它们添加各种自定义字段,如: *