在安企CMS中,内容模型是构建网站内容结构的核心要素,它提供了一种强大的灵活性,让您可以根据不同业务需求(例如发布文章、展示产品、管理活动等)来定制内容的字段和展示方式。理解并善用这一功能,将大幅提升您网站内容的管理效率和展示效果。
理解安企CMS的内容模型
在安企CMS中,内容模型可以被视为内容的“蓝图”或“骨架”。它定义了某一类内容应该包含哪些信息字段。例如,一篇普通文章可能只需要标题、作者、发布时间、内容等字段;而一个产品可能需要产品名称、价格、库存、品牌、多张图片等更为详细的字段。安企CMS默认提供了“文章模型”和“产品模型”这两个基础模型,但它的强大之处在于您可以根据实际需要,完全自定义新的内容模型。
内容模型并非内容本身,而是内容的结构定义。所有的内容(在安企CMS中称为“文档”)都需要归属于一个“分类”,而每一个“分类”又都必须关联到一个特定的“内容模型”。这样,当您在某个分类下发布文档时,系统便会根据该分类所关联的内容模型,自动提供相应的字段供您填写。
如何自定义内容模型
要开始自定义内容模型,您需要进入后台管理界面的“内容管理”部分,然后找到“内容模型”这一项。在这里,您可以查看、修改系统内置的模型,也可以添加全新的自定义模型。
创建或修改模型的基本信息:
- 模型名称: 这是在后台管理界面中显示给您看的模型名称,应该清晰地反映该模型所管理的内容类型,比如“房产信息”、“课程列表”等。
- 模型表名: 这是模型数据在数据库中存储的表名。出于系统兼容性和**实践考虑,这里建议使用全英文小写字母。一旦设置,通常不建议更改,因为它直接影响到数据的存储结构。
- URL别名: 这个字段将用于URL伪静态规则中,比如在
/product/{id}.html中,product就是URL别名。同样建议使用英文小写字母,这有助于优化网站的URL结构,提升SEO友好性。 - 标题名称: 这是在发布该模型下的文档时,文档标题输入框的提示文本。例如,如果模型是“产品”,您可以将其设置为“产品名称”,让内容编辑者一目了然。
定义自定义字段——内容模型的核心: 真正的魔力在于自定义字段。这些字段决定了您的内容可以包含哪些个性化的信息。点击“内容模型自定义字段”区域,您可以添加各种类型的字段,以满足不同业务场景的需求。
- 单行文本: 适用于简短的文字输入,如“产品品牌”、“作者姓名”、“文章来源”等。
- 数字: 专用于输入数值,例如“产品价格”、“库存数量”、“阅读时长”等,系统会自动进行数值校验。
- 多行文本: 适合较长的文本内容,如“产品简介”、“作者介绍”等,可以容纳更多文字。
- 单项选择(单选按钮/下拉选择): 允许用户从预设的多个选项中选择一个,例如“产品颜色”、“文章类型(新闻/评测/教程)”。在设置默认值时,只需将每个选项一行一个地输入即可。
- 多项选择(复选框): 允许用户从预设的多个选项中选择多个,例如“产品特性(防水/防尘/耐摔)”、“文章标签(技术/营销/运营)”。同样,设置默认值时每个选项一行一个。
在添加每个自定义字段时,您还可以设置“是否必填”来确保关键信息的完整性,以及提供“默认值”,方便内容编辑者在发布时快速填充。例如,为“产品模型”添加“价格”字段(类型:数字,必填),“品牌”字段(类型:单行文本,默认值:安企科技),“产品特点”字段(类型:多项选择,默认值:高效\n稳定\n安全)。
内容模型与内容发布流程的结合
当您定义好一个内容模型并为其添加了自定义字段后,这些字段并不会立即在前台页面上显示。它们需要在内容发布时与“分类”和“文档”巧妙结合起来。
- 关联分类: 您需要创建一个新的分类(或编辑现有分类),并将其关联到您自定义的内容模型。例如,如果您创建了“房产信息”模型,就可以创建一个名为“新房源”的分类,并将其关联到“房产信息”模型。
- 发布文档: 当您在“新房源”分类下发布一篇文档时,除了常规的标题、内容等字段,您还会看到在“房产信息”模型中定义的那些自定义字段,例如“户型”、“面积”、“价格”、“所在区域”等。内容编辑者可以根据实际房源信息填写这些字段。
通过这种方式,内容模型的自定义字段只会在您选择了对应的分类后才会出现,大大简化了内容编辑界面,避免了不必要的字段干扰。
在前端模板中展示自定义字段
自定义内容模型并填写了数据后,最关键的一步就是在网站的前端页面上将这些信息展示出来。安企CMS采用Django模板引擎语法,提供了灵活的标签来帮助您实现这一点。
在文档详情页展示: 在文档详情页模板(通常是
{模型table}/detail.html,例如article/detail.html或product/detail.html),您可以直接通过文档对象archive来调用自定义字段。- 如果您想显示某个特定的自定义字段,例如“产品价格”,并且该字段在模型中定义的调用字段是
Price,您可以这样调用:{{archive.Price}}。 - 对于多项选择、单项选择或下拉选择类型的字段,如果需要循环显示所有选中项,您可能需要配合循环标签使用。
- 如果您想显示某个特定的自定义字段,例如“产品价格”,并且该字段在模型中定义的调用字段是
动态循环展示所有自定义参数: 如果您的内容模型包含多个自定义字段,并且您希望在一个区域(比如产品详情页的“规格参数”栏)统一展示所有这些字段,而不需要逐一手动调用,那么
archiveParams标签就非常方便了。{% archiveParams params %} <div> {% for item in params %} <div> <span>{{item.Name}}:</span> <span>{{item.Value}}</span> </div> {% endfor %} </div> {% endarchiveParams %}这段代码会遍历当前文档(
archive)的所有自定义参数,并按“参数名”和“参数值”的形式逐一显示出来。这对于展示产品详细规格、房屋详情等场景尤其实用,即使未来增加了新的自定义字段,也无需修改模板代码,系统会自动适配。在文档列表页筛选和展示: 自定义字段不仅可以用于详情页展示,还可以结合
archiveFilters标签,在列表页提供强大的筛选功能。例如,一个房产信息列表页