在AnQiCMS中,自定义文章、产品和单页面的显示模板是一项非常灵活且强大的功能,它让您可以根据网站的独特需求,为不同类型的内容创建专属的展示样式。通过精心设计的模板,不仅能提升用户体验,还能更好地突出内容重点,实现品牌风格的统一。

AnQiCMS采用了类似Django的模板引擎语法,这意味着如果您熟悉这种简洁直观的语法,就能很快上手。模板文件通常以.html为后缀,并统一存放在 /template 目录下。每个模板包都有自己的目录,内部通过 config.json 文件来定义模板信息,并支持自适应、代码适配以及PC+手机独立站点等多种模式,确保您的网站能在不同设备上完美呈现。

灵活定制文章显示模板

在AnQiCMS中,文章的显示模板可以进行多层次的定制。

首先,每种内容模型(例如“文章”模型)都有一个默认的详情页模板,通常命名为 {模型table}/detail.html(例如 archive/detail.html)。如果您没有为特定文章指定模板,系统会自动使用这个默认模板。

当您希望某一篇特定的文章拥有与众不同的展示方式时,可以在后台“内容管理”的“发布文档”或“编辑文档”界面进行设置。在“其他参数”部分,您会找到一个“文档模板”字段。在这里,您可以填写自定义的模板文件名,比如 my-special-article.html。需要注意的是,这个自定义模板文件必须实际存在于您当前使用的模板包中,否则系统将无法找到并加载该页面。

此外,AnQiCMS还提供了一种便捷的默认命名约定:您可以创建一个名为 {模型table}/{文档id}.html 的模板文件(例如 archive/10.html),它将自动应用于ID为10的文章,而无需在后台额外配置。这种方式特别适用于需要为少数关键文章进行独立设计的场景。

在这些自定义的文章模板中,您可以使用 {% archiveDetail %} 标签来获取当前文章的详细信息,例如 {{archive.Title}} 显示文章标题,{{archive.Content|safe}} 显示文章内容(|safe 过滤器用于确保HTML内容正确渲染,避免转义)。如果文章模型中定义了额外的自定义字段,它们也会自动在模板中通过 {{archive.您的自定义字段名}} 的形式进行调用。

定制产品显示模板

产品在AnQiCMS中也被视为一种内容模型,其模板定制流程与文章非常相似。通常,产品详情页的默认模板也是 {模型table}/detail.html(例如 product/detail.html)。

如果您希望某个特定的产品页面具有独特的布局或信息展示,同样可以在后台编辑产品时,在“其他参数”的“文档模板”字段中指定一个自定义的模板文件,比如 product-showcase.html

自定义产品模板时,您会发现 {% archiveDetail %} 标签依然是获取产品数据的核心。它能帮助您调取产品的名称、图片、描述,甚至是通过内容模型自定义的各种参数,例如 {{archive.Price}}{{archive.Materials}}(假设您定义了“价格”和“材质”字段)。结合 {% archiveParams %} 标签,您还可以循环输出所有自定义的产品参数,以灵活地构建产品规格列表。

自定义单页面显示模板

单页面(如“关于我们”、“联系我们”)在AnQiCMS中同样提供了独立的模板定制能力。默认情况下,单页面的详情页模板是 page/detail.html

如果您想为某个单页面设计独特的风格,可以在后台“页面资源”的“页面管理”中编辑该单页面。在编辑界面,您会看到一个“单页面模板”字段,在这里可以指定自定义的模板文件名,例如 about-us.html

与文章类似,AnQiCMS也支持通过默认命名约定自动应用模板:如果存在名为 page/{单页面id}.html 的文件,它将自动应用于对应ID的单页面。

在单页面模板中,使用 {% pageDetail %} 标签即可轻松获取页面的标题、内容、缩略图等信息。例如,{{page.Title}} 获取单页面标题,{{page.Content|safe}} 获取单页面主体内容。

分类页面的模板定制

除了文章、产品和单页面的详情页,AnQiCMS还允许您深度定制分类页面的显示模板,这对于展示列表内容至关重要。

每种内容模型都有一个默认的列表页模板,通常是 {模型table}/list.html(例如 archive/list.htmlproduct/list.html)。

如果您希望某个特定的分类(例如“新闻中心”)以独特的布局展示其下的文章列表,可以在后台“内容管理”的“文档分类”中编辑该分类。在“其他参数”中,您可以找到“分类模板”字段,并指定一个自定义的模板文件,例如 news-list-template.html

更进一步,AnQiCMS允许您为特定的分类创建名为 {模型table}/list-{分类id}.html 的模板文件(例如 archive/list-5.html),该文件将自动应用于ID为5的文章分类。

值得一提的是,在分类设置中还有一个“文档模板”字段以及“是否应用到子分类”的选项。这意味着您不仅可以为分类本身定制列表页模板,还可以为该分类及其子分类下的所有文章/产品统一指定一个详情页模板,极大简化了多层级内容的管理和样式统一。

在分类模板中,您可以使用 {% categoryDetail %} 标签获取当前分类的详细信息,如 {{category.Title}}{{category.Description}}。而要展示分类下的文章或产品列表,则需要使用 {% archiveList %} 标签,并通过 categoryId 参数来指定要列出哪个分类下的内容,结合 type="page"{% pagination %} 标签还能轻松实现分页效果。

模板文件的组织与填充

AnQiCMS的模板文件组织方式非常灵活,您可以选择“文件夹组织模式”或“扁平化文件组织模式”。例如,在文件夹模式下,您可以将文章详情页放在 archive/detail.html,而单页面详情页放在 page/detail.html

无论选择哪种组织模式,核心都在于利用AnQiCMS提供的各种模板标签来填充内容。除了上述提到的 archiveDetailpageDetailcategoryDetail 和 `archiveList