作为一位深谙AnQiCMS运作的网站运营人员,我深知内容呈现的基础在于其灵活而规范的模板系统。深入理解AnQiCMS的模板文件结构与命名约定,是高效管理网站内容、实现个性化展示和确保系统稳定运行的关键。以下将详细阐述AnQiCMS的模板设计原则。
AnQiCMS的模板系统旨在提供高度的定制性和易用性。其核心在于一个清晰的目录结构和一套Django风格的模板语法。所有的模板文件都集中存放在应用程序根目录下的/template文件夹中。每个独立的模板主题,或者说一套完整的网站皮肤,都会拥有自己的专属子目录,例如/template/default。这个主题子目录内,除了模板文件外,还必须包含一个config.json配置文件。
config.json文件是AnQiCMS识别和管理模板的重要依据,它包含了模板的元信息。例如,name字段定义了模板的显示名称,package指定了模板文件夹的名称,version标记了版本号,description提供了简要说明,author和homepage则指明了作者及其网站。此外,created记录了模板创建时间,template_type(可选值为0自适应、1代码适配、2电脑+手机)定义了模板的响应模式,而status(0未启用,1使用中)则指示了模板的当前启用状态,需要注意的是,同一时间只能有一个模板处于使用中状态。
在模板文件后缀方面,AnQiCMS统一采用.html。模板语法深受Django模板引擎影响,其变量的调用使用双花括号,例如{{变量}}。而条件判断、循环控制等逻辑标签则使用单花括号与百分号组合的形式,例如{% if 条件 %}...{% endif %},这些标签必须成对出现,有明确的开始和结束标签。所有模板文件都强制使用UTF-8编码格式,以避免页面乱码等兼容性问题。
AnQiCMS在模板设计上支持多种网站模式,以适应不同的终端设备。这包括自适应模板、代码适配模板以及PC+手机独立站点模式。如果选择了后两种模式,特别是PC+手机独立站点模式,开发者需要在主模板目录下创建一个名为mobile/的子目录,用于存放移动端专属的模板文件。mobile/目录内的文件结构和命名约定与PC端模板保持一致。
AnQiCMS提供了两种主要的模板文件组织模式:
文件夹组织模式是一种推荐的、结构化的方式,它通过多层目录来分类模板文件:
在最顶层,bash.html通常用于存放网站的公共代码片段,例如页面头部、底部等,这些部分可以在其他模板中被引用。partial/目录则专门用来存放更小的代码片段,如侧边栏、面包屑导航等。网站的首页通常由index/index.html来定义。对于不同的内容模型(如文章、产品),会有对应的模型首页模板,其命名格式为{模型table}/index.html。内容详情页的通用模板为{模型table}/detail.html,也可以为特定ID的文档创建专属模板,如{模型table}/detail-{文档ID}.html。类似地,内容列表页有{模型table}/list.html和针对特定分类的{模型table}/list-{分类ID}.html。其他功能性页面包括comment/list.html(评论列表)、guestbook/index.html(在线留言)、page/detail.html(单页面详情),以及可针对特定单页面ID的page/detail-{单页ID}.html。搜索页是search/index.html,标签页则有tag/index.html和tag/list.html。错误页面如errors/404.html、errors/500.html以及站点关闭提示页errors/close.html也遵循此模式。
扁平化文件组织模式则更为简洁,它将大部分模板文件直接放置在主题根目录下,通过文件名中的下划线来区分不同类型的页面:
公共代码bash.html和代码片段目录partial/的使用方式与文件夹组织模式相同。网站首页命名为index.html。模型首页则使用{模型table}_index.html的格式(例如article_index.html)。内容详情页和列表页分别对应{模型table}_detail.html和{模型table}_list.html。其他功能性页面如comment_list.html、guestbook.html、page.html(单页面详情,也可有page-{单页ID}.html)、search.html、tag_index.html、tag_list.html以及错误页面errors_404.html、errors_500.html、errors_close.html均采用扁平化命名。
An