安企CMS的模板制作有哪些基本约定和文件目录结构要求?

作为一名资深的安企CMS网站运营人员,我深知一套清晰、规范的模板制作约定和目录结构对于网站的长期运营和维护至关重要。高质量的模板不仅能提升用户体验,更是SEO优化的基础。接下来,我将基于安企CMS的文档,为您详细阐述模板制作的基本约定和文件目录结构要求。


安企CMS模板制作的基本约定和文件目录结构要求

在安企CMS中进行模板制作,需要遵循一系列基本约定,以确保模板的兼容性、可维护性和高效运行。这些约定涵盖了文件命名、编码、语法以及静态资源管理等方面。

安企CMS的模板文件统一使用.html作为文件后缀,并集中存放在系统的/template目录下。为了避免页面出现乱码,所有模板文件都必须采用UTF-8编码格式。对于Windows用户而言,在编辑模板文件时,务必将文件存储为UTF-8格式编码。

模板引擎的语法类似于Django模板引擎,因此熟悉Blade等类似语法的开发者会感到非常容易上手。在模板中,变量的定义使用双花括号,例如 {{变量名}}。而条件判断、循环控制等逻辑标签则使用单花括号和百分号来定义,例如 {% if 条件 %}这是条件为真的内容{% endif %}。需要注意的是,这些逻辑标签通常是成对出现的,需要有对应的结束标签。在变量命名方面,安企CMS推荐采用驼峰命名法则,即每个单词的首字母大写,例如 {archive.Id}{archive.Title},当然也有一些特殊规定会例外。

模板所使用的样式表(CSS)、JavaScript脚本以及图片等静态资源,都应该被独立地存放在/public/static/目录下,与模板文件分离开来,以保持项目的结构清晰和管理便利。

安企CMS支持多种模板类型,包括自适应模板、代码适配模板以及PC+手机独立站点模式。为了更好地适应移动设备访问,如果选择了代码适配模式或PC+手机独立站点模式,制作模板时需要在模板目录中创建一个名为mobile的子目录,用于存放移动端专属的模板文件,其内部目录结构和模板文件命名与PC端模板保持一致。

在模板制作中,安企CMS还支持一些默认的自定义模板名称,只要这些特定名称的模板文件存在,系统便能自动应用它们,而无需在后台额外设置。例如,文档的默认自定义模板名称格式为{模型table}/{文档id}.html,文档列表的默认自定义模板名称格式为{模型table}/list-{分类id}.html,而单页面的默认自定义模板名称格式则为page/{单页面id}.html

模板的文件目录结构要求

安企CMS的模板根目录是/template。每套独立的模板都必须在这个根目录下创建自己的专属目录,并在该模板目录中包含一个config.json配置文件。这个配置文件是模板的身份标识,它向系统说明了模板的各项基本信息。

config.json文件的内容示例如下,其中包含的字段都是可选的,若不填写,系统会根据实际情况生成默认值:

{
	"name": "默认模板",
	"package": "default",
	"version": "1.0",
	"description": "系统默认模板",
	"author": "kandaoni.com",
	"homepage": "https://www.kandaoni.com",
	"created": "2022-05-10 22:29:00",
	"template_type": 0,
	"status": 0,
}

字段说明包括:name(模板的名称),package(模板文件夹名称,仅支持英文字母和数字),version(模板版本),description(模板介绍),author(模板作者),homepage(作者网站),created(创建时间),template_type(模板类型,0为自适应,1为代码适配,2为电脑+手机模式),以及status(模板使用状态,0为未启用,1为使用中)。需要特别强调的是,在所有模板中,只能有一套模板的status值被设置为1,即只能有一套模板处于启用状态。

在模板文件的组织上,安企CMS提供了两种主要模式:文件夹组织模式和扁平化文件组织模式。

文件夹组织模式

这种模式下,模板文件会根据其功能被组织到不同的子目录中。

  • bash.html:通常存放页头、页脚等公共代码片段,供其他页面继承引用。
  • partial/:用于存放侧边栏、面包屑等可复用的代码片段。
  • index/index.html:网站的首页模板。
  • {模型table}/index.html:特定内容模型的首页。
  • {模型table}/detail.html:通用文档详情页,或{模型table}/detail-{文档ID}.html用于特定文档的自定义详情页。
  • {模型table}/list.html:通用文档列表页,或{模型table}/list-{文档分类ID}.html用于特定分类的自定义列表页。
  • comment/list.html:评论列表页。
  • guestbook/index.html:在线留言页。
  • page/detail.html:通用单页面详情页,或page/detail-{单页ID}.html用于特定单页的自定义详情页。
  • search/index.html:搜索结果页。
  • tag/index.html:标签首页。
  • tag/list.html:标签文档列表页。
  • errors/404.html:404错误页面。
  • errors/500.html:500错误页面。
  • errors/close.html:站点关闭提示页面。
  • mobile/:如果启用了移动端模板,此目录将存放与上述结构一致的手机端模板文件。

扁平化文件组织模式

这种