在AnQiCMS中,您网站内容的展现形式有着高度的灵活性。无论是文章、产品详情还是独立页面,您都可以根据品牌形象、内容特性或特定的运营需求,为它们量身定制显示布局和模板文件路径。AnQiCMS的这一设计理念,旨在帮助用户摆脱传统CMS的束缚,更自由地掌控网站的视觉呈现与用户体验。
灵活的模板机制:AnQiCMS的基础
AnQiCMS采用了类似Django的模板引擎语法,这使得模板文件的制作和管理变得直观而高效。所有的模板文件都统一存放在项目的/template目录下,而CSS、JavaScript、图片等静态资源则有专门的/public/static/目录来管理。理解这一基本结构,是进行自定义布局的第一步。
在模板文件的编写上,变量使用双花括号{{变量}}来定义,而条件判断、循环控制等逻辑标签则使用单花括号和百分号{% 标签 %},并且这些逻辑标签都需要有对应的结束标签。为了确保页面正常显示,所有模板文件都应采用UTF-8编码。
AnQiCMS还支持多种网站模式,如自适应、代码适配以及PC端与手机端独立站点模式。如果您选择了代码适配或PC+手机端模式,系统会允许您在/template目录下的mobile子目录中,为移动设备单独设计一套模板。
两种模板文件组织模式
为了适应不同的开发习惯,AnQiCMS提供了两种模板文件组织模式:
文件夹组织模式: 这种模式下,不同类型的内容会有各自独立的文件夹来存放模板文件,例如:
- 首页:
index/index.html - 文章(或其他模型)详情页:
{模型table}/detail.html - 文章(或其他模型)列表页:
{模型table}/list.html - 单页面详情页:
page/detail.html - 公共代码(如页头、页脚):
bash.html - 代码片段(如侧边栏、面包屑):
partial/
- 首页:
扁平化文件组织模式: 这种模式下,所有模板文件都直接存放在模板根目录,文件命名上会通过下划线区分类型,例如:
- 首页:
index.html - 文章详情页:
{模型table}_detail.html - 文章列表页:
{模型table}_list.html - 单页面详情页:
page.html
- 首页:
无论您选择哪种模式,关键在于系统会根据预设的命名规则自动匹配模板。
智能的默认模板匹配
AnQiCMS的智能之处在于,它会根据内容的类型和ID,自动匹配一些默认命名的模板文件。这意味着,如果您遵循特定的命名约定,即使不在后台手动指定模板,系统也能自动应用它们:
- 文档(文章、产品等)详情页: 系统会尝试查找并应用路径格式为
{模型table}/{文档id}.html的模板文件。例如,文章模型下ID为10的文章,系统可能会查找article/10.html。 - 文档列表页: 对于某个分类下的文档列表,系统会尝试查找
{模型table}/list-{分类id}.html格式的模板。例如,文章模型下ID为5的分类列表,系统可能会查找article/list-5.html。 - 单页面详情页: 对于ID为123的单页面,系统会尝试查找
page/123.html这样的模板文件。
这些默认匹配机制极大地简化了通用内容的模板管理,让您只需专注于定制特殊内容的显示。
自定义模板路径:精细控制您的内容展现
当默认模板无法满足您的个性化需求时,AnQiCMS允许您通过后台设置,为特定内容指定自定义的模板文件。这让您能够实现高度定制化的页面布局,例如为“关于我们”页面设计独特的视觉风格,或为某个营销活动页面创建专属的显示模板。
针对单篇文章(或其他内容模型下的单篇文档): 当您在后台“内容管理”中编辑一篇具体的文章或产品时,会发现一个“其他参数”的折叠区域。展开后,其中有一个名为“文档模板”的字段。在这里,您可以填写一个自定义的模板文件路径。 例如,如果您希望某篇产品文章拥有一个专门用于展示下载链接的布局,您可以在模板目录下创建一个
product/download.html文件。然后在该产品文章的“文档模板”字段中填入download.html(相对于模型文件夹的路径,或product/download.html相对于模板根目录的路径,具体取决于您的组织模式和系统配置)。当用户访问这篇产品文章时,AnQiCMS就会使用您指定的product/download.html来渲染内容。针对特定分类的列表页: 在“内容管理”中的“文档分类”设置里,编辑某个分类时,同样会找到“其他参数”下的“分类模板”字段。默认情况下,分类列表会使用
{分类模型}/list.html作为模板。但如果您想为某个特定分类的列表页提供完全不同的布局,例如一个包含大幅轮播图的产品分类列表,您可以在这里指定一个自定义模板文件,比如product/fancy_list.html。 更进一步,该设置还有一个“是否应用到子分类”的选项。勾选后,这个自定义分类模板将应用于当前分类及其所有子分类的列表页,省去了为每个子分类重复设置的麻烦。针对某个分类下的所有文章(或其他内容模型下的文档): 与上述“分类模板”字段相邻的,还有一个“文档模板”字段(在分类设置中)。这个字段的用处在于,您可以为某个分类下的所有文章,统一指定一个默认的详情模板。 例如,您有一个“案例展示”的分类,希望其下的所有案例文章都使用一个
article/case_detail.html的模板,即使这些文章本身没有单独设置“文档模板”,它们也会继承分类设置中的这个自定义模板。这对于保持特定内容群组的视觉一致性非常有用。针对单个独立页面: 在“页面资源”下的“页面管理”中,编辑某个单页面时,您同样会看到一个“单页面模板”字段。例如,如果您想为“联系我们”页面创建一个包含地图和表单的独特布局,可以在模板目录下创建
page/contact.html,然后在此页面的“单页面模板”字段中填入contact.html。
如何指定和应用自定义模板
整体操作流程非常直观:
- 准备模板文件: 首先,在您的AnQiCMS项目
/template目录下,根据您的模板组织模式和设计需求,创建或修改相应的HTML模板文件。例如,如果您想为文章模型下的ID为10的文章创建一个自定义模板,您可能