帝国CMS模型系统完整教程

第一部分:理解核心概念

在学习操作之前,我们先要明白“模型”在帝国CMS中到底是什么。

帝国cms系统模型教程
(图片来源网络,侵删)

什么是模型?

你可以把模型想象成一个“数据表格的模具”

  • 传统网站:如果你要做一个新闻栏目,一个产品栏目,一个下载栏目,你可能需要为每个栏目都创建不同的数据表(如 news 表, product 表, download 表)。
  • 帝国CMS:帝国CMS引入了模型的概念,你可以创建一个“新闻模型”,这个模型定义了新闻文章需要包含哪些字段(如标题、作者、内容、发布时间、缩略图等),当你创建一个“新闻”栏目时,就指定使用这个“新闻模型”,所有在这个栏目下发布的内容,都会遵循这个模型的字段结构。

模型的核心优势

  • 灵活性:无需修改数据库,就可以通过增减模型字段来改变内容结构,你发现新闻需要增加一个“视频”字段,只需在模型中添加即可,已有的新闻不受影响。
  • 扩展性:你可以为任何内容类型创建专属模型。
    • 文章模型:用于新闻、资讯。
    • 产品模型:用于商品,包含价格、规格、库存等字段。
    • 下载模型:用于软件,包含下载地址、文件大小、授权方式等字段。
    • 招聘模型:用于招聘信息,包含职位、薪资、工作地点等字段。
  • 标准化:统一的内容结构,方便数据管理、调用和二次开发。

模型、栏目、内容的关系

帝国cms系统模型教程
(图片来源网络,侵删)

这是一个至关重要的逻辑关系,必须清晰:

  • 模型:是结构定义,它规定了内容应该有哪些“属性”(字段),一个人的“身份证”,上面有姓名、性别、民族、住址等格式。
  • 栏目:是内容分类,它指定了该栏目下的内容使用哪个模型。“国内新闻”和“国际新闻”这两个栏目,都可以使用同一个“文章模型”。
  • 具体数据,它是根据某个栏目的模型定义填写的一条条具体信息,一篇具体的《某某地发生地震》的新闻,就是一条内容,它填充了“文章模型”中的各个字段。

先有模型,再有栏目(栏目选择模型),最后发布内容(内容遵循模型)。


第二部分:模型管理后台操作

我们以最常用的“添加字段”为例,走一遍完整的流程。

场景:我们有一个默认的“新闻系统”模型,现在想给它增加一个“来源”字段和一个“视频”字段。

帝国cms系统模型教程
(图片来源网络,侵删)

第一步:进入模型管理

  1. 登录帝国CMS后台。
  2. 在左侧菜单栏,找到 -> 【管理栏目】
  3. 在“管理栏目”页面,点击顶部的 【管理系统模型】

第二步:选择并编辑模型

  1. 在“管理系统模型”页面,你会看到系统默认的几个模型,如“新闻系统”、“图片系统”、“下载系统”等。
  2. 找到你想要修改的模型,新闻系统”,点击其后面的 【管理字段】

第三步:添加新字段

  1. 进入“新闻系统”字段管理页面,这里列出了该模型已有的所有字段(如标题、标题图片、简介、内容等)。
  2. 点击右上角的 【增加字段】

第四步:配置字段属性

这是最关键的一步,你将看到一个详细的表单,需要为你的新字段进行配置。

示例1:添加一个“来源”字段(文本类型)

  • 字段名source (只能用英文、数字或下划线,这是在数据库中存储的字段名)
  • 字段标识来源 (这个是后台显示的名称,可以中文)
  • 字段类型VARCHAR (短文本,适合存储来源、作者等简短信息)
  • 字段说明文章来源,如:新华社、本站报道等 (在后台发布内容时,会显示在这里作为提示)
  • 显示方式文本框 (最常用的输入方式)
  • 最大字符长度100 (限制输入字符数)
  • 在发布页是否显示 (必须勾选,否则后台发布时看不到这个字段)
  • 在列表页是否显示 (列表页通常不显示来源,根据需要选择)
  • 页是否显示 (通常希望在内容页显示来源)
  • 其他选项:如默认值、是否必填等,根据需要设置。

填写完毕后,点击 【提交】

示例2:添加一个“视频”字段(多媒体类型)

  • 字段名video
  • 字段标识视频
  • 字段类型MEDIUMTEXT (长文本,适合存储视频代码或地址)
  • 显示方式编辑器 (提供一个富文本编辑器,方便粘贴视频代码)
  • 其他选项:同样设置是否在发布页、列表页、内容页显示。

第五步:更新模型缓存

添加完所有需要的字段后,回到“管理系统模型”页面,点击右上角的 【更新模型缓存】

【非常重要】:每次修改了模型(增删改字段)后,都必须执行这一步,否则修改不会生效,后台可能还会报错。


第三部分:后台内容发布与调用

后台发布内容

  1. 回到 -> 【增加信息】
  2. 在“选择栏目”时,选择你使用了该模型的栏目(国内新闻”)。
  3. 进入发布页面,你会发现除了默认的标题、内容等字段外,刚刚添加的“来源”和“视频”字段也出现在了这里。

调用

在模板文件(通常是 .php 文件)中,使用 listshowesub 等函数来调用这些自定义字段。

假设我们调用的是新闻内容。

调用“来源”字段 (source)

<?=ReturnAddInfoField($navinfor['id'], 'source')?> 
  • $navinfor['id']的ID。
  • 'source':你在第三步设置的字段名

调用“视频”字段 (video)

<?=ReturnAddInfoField($navinfor['id'], 'video')?> 

这个函数会直接返回你保存在该字段里的内容,比如一段 <iframe> 视频嵌入代码。

更推荐的方法:使用 listtempclass 函数

在列表模板 (listtemp) 和内容页模板 (showtemp) 中,可以直接使用字段名。

  • 在列表页模板中

    <li>
        <a href="[!--titleurl--]">[!--title--]</a>
        <span>来源:[!--source--]</span> <!-- 直接调用列表中的来源字段 -->
    </li>
  • 页模板中

    <h1>[!--title--]</h1>
    <div class="video">[!--video--]</div> <!-- 直接调用内容页中的视频字段 -->
    <div>[!--newstext--]</div>

    注意:这种方式的前提是你在模型中设置的“字段名”和模板中的标签一致,并且模型字段被正确添加到了内容页模板中(通常通过“管理字段”->“修改字段”->“内容页模板”选项来设置)。


第四部分:进阶与注意事项

字段类型选择指南

  • VARCHAR:短文本,如标题、作者、来源、关键词。
  • TEXT:长文本,如摘要、简介。
  • MEDIUMTEXT / LONGTEXT:超长文本,用于存储大段内容或HTML代码(如视频嵌入代码)。
  • INT / BIGINT:整数,用于序号、数量、ID等。
  • DATETIME:日期时间,如发布时间、活动开始时间。
  • CHAR:定长字符串,适合存储短而固定的值,如性别(男/女)。
  • ENUM:单选,如“是否推荐”(是/否)。
  • SET:多选,如“适用标签”(标签1,标签2)。
  • SMALLFILES:上传小文件,如附件。
  • BIGFILES:上传大文件。
  • EDITOR:富文本编辑器。
  • PIC:上传图片。
  • PICS:上传多图。

模型的“系统模型”与“用户模型”

  • 系统模型:如新闻、下载、图片等,这些模型是帝国CMS预设好的,与核心功能紧密相关,它们的字段和结构受到系统保护,不建议随意修改,以免导致功能异常。
  • 用户模型:这是专门用来扩展会员资料字段的,比如你想让会员在注册时填写“QQ号”、“生日”、“个人主页”等,就需要在“用户模型”中添加对应的字段。

性能考虑

  • 字段数量:一个模型中字段不宜过多,每个字段都会增加数据库的存储和查询开销,对于非常简单的信息,可以考虑使用一个模型。
  • 字段类型:选择合适的数据类型,用 INT 存储状态码,而不是用 VARCHAR 存储数字字符串,能提高效率。

备份

在进行任何大规模的模型修改(特别是删除字段)之前,务必备份数据库,一旦删除字段,该字段下的所有数据都将永久丢失!


通过以上步骤,你应该已经掌握了帝国CMS模型系统的核心用法:

  1. 理清关系:模型(模具) -> 栏目(分类) -> 内容(数据)。
  2. 后台操作:【管理栏目】->【管理系统模型】->【管理字段】->【增加/修改字段】->【更新模型缓存】。
  3. 内容发布:在后台发布信息时,新字段会自动出现。
  4. 前端调用:使用 ReturnAddInfoField() 函数或在模板中直接使用 [!--字段名--] 标签来显示内容。

模型是帝国CMS强大灵活性的基石,熟练掌握它,你就能用帝国CMS构建出几乎任何类型的内容网站。