在使用安企CMS(AnQiCMS)进行网站建设和内容管理时,了解其模板文件的命名规范对于自定义和优化网站外观至关重要。安企CMS为了简化模板管理,提供了一套灵活且具有默认识别能力的命名约定,让网站开发者和运营者能更高效地工作。

首先,所有模板文件都统一使用.html作为后缀,并集中存放在网站根目录下的/template文件夹中。而模板中用到的样式、JavaScript脚本、图片等静态资源,则会单独存储在/public/static/目录。安企CMS的模板引擎语法类似于Django模板,这使得熟悉这类语法的用户能快速上手。

安企CMS的强大之处在于它能够智能识别并自动应用符合特定命名规则的模板文件,无需在后台进行额外的配置。这大大加速了开发和部署的流程。对于文档详情页和列表页,有以下几种主要的默认模板文件命名方式:

文档详情页的默认模板文件

文档详情页是展示单篇内容(如文章、产品介绍)的核心页面。安企CMS为其提供了两种默认的命名模式,以适应不同的定制需求。

一种是针对特定文档ID的精确匹配:{模型table}/{文档id}.html。 这里,{模型table}代表了该文档所属内容模型的表名(例如,如果是文章模型,可能是article;如果是产品模型,可能是product),而{文档id}则是该文档在系统中的唯一标识符。这意味着,如果你希望为某个具体文档(例如ID为10的文章)设计一个独一无二的详情页布局,你可以创建article/10.html这样的模板文件。当访问这篇特定文章时,系统会优先尝试加载这个精确匹配的模板。

另一种是针对整个内容模型的通用匹配:{模型table}/detail.html。 如果某个特定文档没有专属的{文档id}.html模板,或者你希望为某个内容模型下的所有文档提供一个统一的详情页布局,可以创建一个名为detail.html的文件,并将其放置在对应内容模型(如articleproduct)的文件夹下,形成article/detail.htmlproduct/detail.html。这样,该模型下的所有文档在访问时,都会默认使用这个detail.html模板。

文档列表页的默认模板文件

文档列表页用于展示某一分类下的多篇内容,同样提供了灵活的命名方式。

一种是针对特定分类ID的精确匹配:{模型table}/list-{分类id}.html。 与文档详情页类似,这里的{模型table}代表内容模型的表名,而{分类id}则是该文档分类的唯一ID。如果你想为某个具体的分类(例如ID为5的产品分类)设计一个独特的列表页,可以创建product/list-5.html这样的模板。当访问这个特定分类的列表页时,系统会优先加载这个模板。

另一种是针对整个内容模型的通用匹配:{模型table}/list.html。 如果没有找到特定分类ID的列表模板,或者你希望为某个内容模型下的所有列表页提供一个统一的布局,可以创建一个名为list.html的文件,并将其放置在对应内容模型(如articleproduct)的文件夹下,形成article/list.htmlproduct/list.html。该模型下的所有分类列表页在访问时,都会默认使用这个list.html模板。

单页面的默认模板文件(补充说明)

虽然不是文档详情或列表页,但了解单页面模板的命名规则也能帮助我们更好地理解安企CMS的模板机制。单页面,如“关于我们”、“联系我们”,也有类似的默认命名:

  • 针对特定单页ID的精确匹配:page/{单页面id}.html
  • 针对所有单页的通用匹配:page/detail.html

需要注意的是,上述命名规则既适用于“文件夹组织模式”,也适用于“扁平化文件组织模式”。在“文件夹组织模式”下,模板文件会按照模型和页面类型存放在各自的子目录中;而在“扁平化文件组织模式”下,文件名会包含模型和页面类型信息(例如{模型table}_detail.htmlpage_detail.html)。这两种模式都遵循相同的优先级和自动识别逻辑。

通过这些默认的命名约定,我们可以在不修改后台配置的情况下,快速为网站的文档详情页和列表页应用不同的设计。当然,安企CMS也提供了在后台管理界面中为特定文档、分类或单页面指定自定义模板文件的功能,这为更细致的个性化需求提供了额外的灵活性。理解这些命名规则,将大大提升我们在安企CMS上进行网站定制和内容运营的效率。


常见问题 (FAQ)

  1. 问:如果我创建了article/detail-10.htmlarticle/detail.html,系统会优先使用哪个模板来显示ID为10的文章? 答:系统会优先使用更具体的模板。在这种情况下,它会优先选择article/detail-10.html来显示ID为10的文章。只有当找不到特定ID的模板时,才会回溯到通用模板article/detail.html

  2. 问:文档模型表名({模型table})应该在哪里查看? 答:您可以在安企CMS后台的“内容管理”模块中找到“内容模型”设置。每个内容模型都会有一个“模型表名”或“URL别名”字段,这就是在模板命名中需要使用的{模型table}值,通常是小写的英文单词,例如articleproduct等。

  3. 问:如果我的网站是移动端和PC端独立模板,这些默认文件名是否也适用于移动端? 答:是的,这些默认命名规则同样适用于移动端模板。在安企CMS的模板根目录/template下,如果存在一个mobile子目录,那么移动端模板文件应存放在mobile目录内,并遵循相同的命名约定。例如,移动端的文章详情页模板可能是mobile/article/detail.html