AnQiCMS 在模板文件管理上设计得非常清晰和灵活,旨在让用户能高效地定制网站外观和功能。如果您正在使用 AnQiCMS 搭建或维护网站,了解模板文件的存放位置和支持的后缀是进行前端开发和定制的基础。
模板文件的核心家园:/template 目录
所有 AnQiCMS 的模板文件都集中存放在一个核心目录下,那就是您网站根目录下的 /template 文件夹。这个目录是您所有主题包的“家”。在 /template 目录下,每一个独立的主题包都会拥有自己的子目录,例如 default、my_custom_theme 等。
每个主题包的子目录中,通常会有一个 config.json 文件。这个配置文件记录了主题的名称、版本、作者、描述等基本信息,以及它所支持的模板类型(例如自适应、代码适配或 PC+手机独立站模式)。通过这种结构,AnQiCMS 能够识别并管理不同的主题包。
模板文件后缀:统一且明确的 .html
AnQiCMS 的模板文件后缀统一使用 .html。这意味着无论您是创建首页模板、文章详情页模板、分类列表页模板还是其他任何页面,它们都应该以 .html 结尾。
这种选择与 AnQiCMS 支持的类 Django 模板引擎语法高度契合。它不仅能够保持文件格式的一致性,也方便了编辑器的识别和高亮显示。在编辑模板文件时,请务必确保文件编码为 UTF-8 格式,特别是对于 Windows 用户,以避免页面出现乱码问题。
模板文件的组织模式:灵活适应不同需求
在每个主题包内部,AnQiCMS 支持两种主要的模板组织模式,以适应不同的开发习惯和项目规模:
文件夹组织模式: 这种模式下,模板文件会根据其功能或所属内容类型存放在不同的子文件夹中,结构清晰、易于管理。例如:
- 公共部分:
bash.html(存放头部、底部等通用代码,供其他模板引用)。 - 代码片段:
partial/目录(例如partial/sidebar.html用于侧边栏、partial/breadcrumb.html用于面包屑导航)。 - 首页:
index/index.html。 - 模型相关页面:
{模型table}/index.html(模型首页)、{模型table}/detail.html(文档详情页)、{模型table}/list.html(文档列表页)。 - 单页面:
page/detail.html。 - 特殊页面:
comment/list.html(评论列表页)、guestbook/index.html(在线留言页)、search/index.html(搜索页)、tag/index.html(标签首页)、errors/404.html(404 错误页) 等。
- 公共部分:
扁平化文件组织模式: 这种模式下,所有模板文件都直接存放在主题包的根目录下,文件命名会包含其功能或内容类型,适合小型项目或偏好简洁文件结构的用户。例如:
- 公共部分:
bash.html。 - 代码片段:
partial/目录(同上)。 - 首页:
index.html。 - 模型相关页面:
{模型table}_index.html、{模型table}_detail.html、{模型table}_list.html。 - 单页面:
page.html。 - 特殊页面:
comment_list.html、guestbook.html、search.html、tag_index.html、errors_404.html等。
- 公共部分:
值得一提的是,AnQiCMS 还允许对特定内容定义自定义模板名称。例如,如果您有一个 ID 为 10 的文章,您可以为它创建一个名为 {模型table}/detail-10.html 的独立模板;或者对于一个“关于我们”的单页面,您可以将其模板命名为 page/about.html,并在后台将其关联起来。这种高度的灵活性让您可以为网站中的任何特定内容实现个性化的展示。
移动端模板:mobile/ 子目录
为了支持移动端适配或独立的手机站,AnQiCMS 提供了专门的移动端模板存放位置。在您的主题包目录内,可以创建一个 mobile/ 子目录。这个 mobile/ 目录下的结构和文件命名规则与主站模板保持一致,可以是文件夹组织模式,也可以是扁平化模式。当系统检测到用户通过移动设备访问时,便会优先加载 mobile/ 目录下的相应模板。
静态资源:独立存放的 /public/static/
与模板文件不同,网站所需的样式表(CSS)、JavaScript 脚本(JS)以及图片等静态资源不应与模板文件混淆存放。AnQiCMS 规定这些静态资源应该单独存放在网站根目录下的 /public/static/ 目录中。这种分离有助于提高网站性能,方便 CDN 加速,并使项目结构更加清晰。
掌握了这些关于 AnQiCMS 模板文件的存放位置和命名规则,您就可以更有条理地进行网站定制和前端开发了。
常见问题解答 (FAQ)
Q1:除了 .html,我可以使用其他文件后缀名作为模板文件吗?
A1:不可以。AnQiCMS 模板引擎只识别并处理 .html 扩展名的文件作为模板。如果您使用其他后缀,系统将无法将其作为模板解析。
Q2:如果我把模板文件放在了错误的目录,网站会怎么样? A2:如果模板文件没有按照规定的路径存放,AnQiCMS 将无法找到对应的模板。这通常会导致页面显示不正常,或者直接返回 404 错误。在进行模板修改或创建时,请务必仔细核对文件路径和命名。
Q3:我应该如何引用主题中的 CSS 或 JavaScript 文件?
A3:您应该将 CSS、JS 文件放在您的网站根目录下的 /public/static/ 目录中(或者其子目录)。在模板中引用时,可以直接使用相对于网站根目录的绝对路径,例如 <link rel="stylesheet" href="/static/your_theme/css/style.css">。AnQiCMS 提供的 {% system with name="TemplateUrl" %} 标签可以帮助您动态获取当前主题的静态文件地址,从而更灵活地构建资源路径。