在安企CMS中,内容模型的灵活性是其核心优势之一,它不仅能帮助我们管理传统的文章和产品信息,更可以根据实际业务需求,创建出高度个性化的内容类型。而自定义文章模型字段,正是实现这种个性化展示的关键一步。

内容运营的本质是提供用户真正需要的信息,并以最直观、最吸引人的方式呈现。想象一下,如果您的网站需要展示电影评论,除了电影名称和简介,您可能还需要“导演”、“主演”、“上映日期”、“评分”等专属字段。如果是一个房产网站,除了基本介绍,您会希望有“户型”、“面积”、“朝向”、“价格区间”等信息。安企CMS的自定义模型字段功能,正是为了满足这些多样化的内容需求而生。

深入理解内容模型与自定义字段

在安企CMS中,内容模型就好比是您网站内容的一种“蓝图”或“结构定义”。系统默认提供了“文章”和“产品”两种基础模型,但很多时候这远不能满足业务的独特需求。自定义字段允许我们在这些蓝图上添加专属的“细节”,让内容更具结构化和表现力。

为什么我们需要它?

  • 结构化数据: 让每一条内容都拥有统一、规范的数据结构,便于管理和检索。
  • 个性化展示: 根据不同类型的内容,展示其特有的属性,提升用户体验。
  • 高效运营: 后台编辑内容时,只需填写对应字段,减少手动排版和重复工作。
  • 拓展性强: 为未来的功能扩展(如筛选、搜索等)打下坚实基础。

创建与管理自定义模型字段

在安企CMS中,管理自定义字段的过程直观且高效。

  1. 进入内容模型管理: 登录安企CMS后台,导航到“内容管理”菜单下,点击“内容模型”。这里您会看到所有已创建的内容模型列表,包括系统内置的和您自定义的。

  2. 选择或创建模型:

    • 编辑现有模型: 如果您想为“文章”或“产品”模型添加更多字段,直接点击对应模型右侧的“编辑”按钮。
    • 新建自定义模型: 如果您需要完全不同的内容类型(比如“活动”、“招聘”等),可以点击“添加内容模型”。在创建时,您需要设定“模型名称”、“模型表名”(建议英文小写)、“URL别名”以及在发布内容时显示的“标题名称”。这些都是模型的元数据。
  3. 添加自定义字段: 进入模型编辑页面后,向下滚动找到“内容模型自定义字段”区域。这里是定义内容专属属性的地方。点击“添加字段”来定义您的个性化内容属性:

    • 参数名: 这是后台显示给编辑人员看的中文名称,比如“电影导演”、“房产面积”。
    • 调用字段: 这是最重要的部分! 它是在模板中调用该字段值的唯一标识,务必使用英文小写字母。例如,如果您定义了“导演”,调用字段可以是 director;如果定义了“上映日期”,可以是 release_date
    • 字段类型: 安企CMS提供了多种字段类型来适应不同的数据:
      • 单行文本: 适用于简短的文字信息,如“品牌”、“型号”。
      • 数字: 仅限输入数字,如“价格”、“库存”。
      • 多行文本: 适用于较长的描述性文字,如“详细介绍”、“注意事项”。
      • 单项选择/多项选择/下拉选择: 适用于预设选项,如“颜色(红、蓝、绿)”、“户型(一室、两室、三室)”。在“默认值”中每行输入一个选项即可。
    • 是否必填: 根据内容重要性设定,确保关键信息不遗漏。
    • 默认值: 为字段设置预设值,编辑时可直接使用或修改。

    完成字段的定义后,记得点击保存。

填写个性化内容数据

当您在内容模型中添加了自定义字段后,这些字段会自动呈现在内容发布和编辑的界面中。

  1. 发布或编辑文档: 进入“内容管理”下的“发布文档”,或编辑现有文档。
  2. 选择对应分类: 确保您选择的“所属分类”是基于您修改或新建的内容模型。只有这样,对应的自定义字段才会显示。
  3. 填写“其他参数”: 在文档编辑页面的下方,通常会有一个“其他参数”的折叠区域。展开它,您会发现您刚才创建的所有自定义字段都井然有序地排列在此,只需根据提示填写相应的数据即可。

在模板中展示个性化内容

自定义字段的价值最终体现在前端页面的个性化展示上。安企CMS的模板系统支持Django模板引擎语法,利用其强大的标签和过滤器,您可以轻松地将这些自定义数据呈现在用户面前。

  1. 调用单个自定义字段: 如果您想在内容详情页(例如 archive/detail.html)显示某个特定的自定义字段,例如“电影导演” (director),可以使用 archiveDetail 标签:

    <p>导演:{% archiveDetail with name="director" %}</p>
    

    这里,name="director" 对应的是您在后台设置的“调用字段”。系统会自动获取当前文档的 director 字段值并显示。您也可以将其赋值给一个变量再使用:

    {% archiveDetail movieDirector with name="director" %}
    {% if movieDirector %}
        <p>导演:{{ movieDirector }}</p>
    {% endif %}
    
  2. 循环显示所有自定义字段: 在某些情况下,您可能希望在一个区域集中展示所有非空自定义字段,或者以列表形式呈现。这时,archiveParams 标签就能派上用场,它能获取当前文档所有自定义字段的集合,并通过循环输出:

    <h3>电影参数</h3>
    <ul>
    {% archiveParams params with sorted=true %} {# sorted=true 保持后台定义顺序 #}
        {% for item in params %}
            {# 假设有些字段您不希望显示,可以这样排除 #}
            {% if item.Name != '内部备注' %}
                <li>{{ item.Name }}:{{ item.Value }}</li>
            {% endif %}
        {% endfor %}
    {% endarchiveParams %}
    </ul>
    

    这里 item.Name 会显示字段的