自定义模型就是让你不再局限于系统默认的“文章”、“图集”、“软件”等固定内容类型,而是可以根据自己的需求,创建一个全新的内容发布和管理系统。

什么是自定义模型?为什么需要它?
想象一下,默认的 DedeCMS 像一个毛坯房,有基本的房间(文章、图集等),但布局和功能都很固定,而自定义模型就像你自己请设计师和施工队,可以根据你的想法,建造一个功能完全定制的“别墅”。
举个常见的例子:
假设你运营一个网站,需要发布“电影”信息,一个电影条目通常包含:* 导演
- 主演
- 上映日期
- 类型(动作、喜剧、科幻)
- 评分
- 剧情简介
- 海报图片
- 下载链接
- 观看链接
这些字段(导演、主演、评分等)在默认的“文章”模型里是没有的,如果用“文章”模型来发,所有信息都堆在“内容”里,非常混乱,无法分类和调用。

这时候,自定义模型就派上用场了,你可以创建一个名为“电影”的自定义模型,并为它添加“导演”、“主演”、“评分”等所有你需要的字段,从此以后,你就可以像发布普通文章一样,专门、规范地发布电影信息。
其他应用场景:
- 小说网站:创建“小说”模型,包含“作者”、“状态(连载/完结)”、“字数”、“最新章节”等字段。
- 产品库:创建“产品”模型,包含“品牌”、“型号”、“价格”、“规格参数”等字段。
- 招聘网站:创建“职位”模型,包含“工作地点”、“薪资范围”、“学历要求”、“工作经验”等字段。
- 个人作品集:创建“作品”模型,包含“项目时间”、“使用技术”、“项目链接”等字段。
创建自定义模型的完整步骤
下面我们以创建一个“电影”模型为例,一步步走完整个流程。
第1步:进入模型管理后台
登录你的 DedeCMS 后台,在顶部菜单栏找到 【核心】 -> 模型管理】。
点击后,你会看到系统默认的几个模型,如“文章”、“图集”等。
第2步:创建新模型
模型管理页面,点击右上角的 【增加新模型】 按钮。
第3步:填写模型基本信息
会弹出一个表单,需要你填写这个新模型的基本信息。
- 模型名称:给你的模型起个名字,“电影”,这个名字会在后台菜单和前端调用时显示。
- 表前缀:系统会自动生成,通常是
dede_+ 你模型名称的拼音首字母,dede_movie。一般不建议修改,除非你知道你在做什么。 - 模型表:与表前缀对应,通常就是
dede_movie。一般也不建议修改。 - 内容目录:这个非常重要!它决定了所有用这个模型发布的内容,图片等附件会存放在哪个文件夹,系统会根据模型名称自动生成,
/uploads/movie/,你可以根据网站结构进行修改,但请确保路径合法且不会与其他模型冲突。 - 列表命名规则:用于生成文章列表页的文件名,如
{typedir}/index_{page}.html,保持默认即可。 - 命名规则:用于生成文章详情页的文件名,如
{typedir}/{aid}.html,保持默认即可。 - 附加表:系统会自动创建一个与主表分离的附加表(如
dede_addonmovie),用于存放除了标题、内容等通用字段之外的自定义字段。保持默认。
填写完毕后,点击 【保存】。
至此,一个最基础的自定义模型“电影”就创建成功了,你现在可以在后台的“内容模型管理”列表里看到它,但它还没有任何自定义字段,也无法用来发布内容。
第4步:添加自定义字段
这是自定义模型最核心的一步,我们需要为“电影”模型添加那些我们需要的字段,如“导演”、“主演”等。
-
在 模型管理】 页面,找到你刚刚创建的 “电影” 模型,点击后面的 【字段管理】。
-
进入字段管理后,点击 【增加新字段】。
-
填写字段信息:
- 字段名称:字段的英文标识,用于数据库和程序调用。只能使用英文字母、数字和下划线,
director,一旦设置,尽量不要修改。 - 字段说明:字段的中文显示名称,“导演”,这个名称会在后台发布内容时作为表单标签显示。
- 字段类型:选择字段的输入方式,这是关键!
text:单行文本输入框,适合短文本,如“导演”、“主演”。textarea:多行文本输入框,适合长文本,如“剧情简介”。editor:编辑器,适合富文本内容,如“详细介绍”。select:下拉选择框,适合固定选项,如“类型”。radio:单选按钮组,适合固定选项,如“状态(连载/完结)”。checkbox:多选框组,适合多选,如“标签”。img:图片上传,适合上传海报、封面图。datetime:日期时间,适合“上映日期”。number:数字,适合“评分”、“价格”。- ... 等等,还有很多类型可选。
- 字段名称:字段的英文标识,用于数据库和程序调用。只能使用英文字母、数字和下划线,
-
设置字段参数:
- 是否为空:是否允许该字段为空,根据需要选择。
- 默认值:如果该字段可以为空,可以设置一个默认值。
- 显示在发布页:勾选此项,该字段才会出现在后台的内容发布表单中。
- 字段使用说明:在发布页面,该字段旁边会显示你填写的说明文字,用于提示用户填写。
- 高级选项:根据字段类型不同,会有不同的高级选项。
select或radio类型,你需要在这里填写选项值,格式为选项名1|选项值1,选项名2|选项值2。动作|action,喜剧|comedy,科幻|scifi。
示例:添加“导演”字段
- 字段名称:
director - 字段说明:
导演 - 字段类型:
text - 是否为空:
否 - 显示在发布页:
勾选 - 字段使用说明:
请输入电影的导演姓名
示例:添加“类型”字段
- 字段名称:
movietype - 字段说明:
电影类型 - 字段类型:
select - 是否为空:
否 - 显示在发布页:
勾选 - 字段使用说明:
请选择电影的主要类型 - 字段参数(高级选项):
动作|action,喜剧|comedy,科幻|scifi,爱情|love,恐怖|horror
按照这个方法,逐一添加你需要的所有字段(主演、上映日期、评分、海报等)。
第5步:生成栏目并发布内容
-
生成栏目:现在模型已经建好了,你需要一个“容器”来存放这些电影内容,进入后台的 【栏目管理】,点击 【增加顶级栏目】。
- 在栏目类型中,选择你刚刚创建的 “电影” 模型。
- 填写栏目名称,如“最新电影”。
- 其他设置保持默认或按需修改。
- 保存后,系统会提示你更新栏目缓存,点击确定即可。
-
:进入后台的 】 页面,你应该能看到一个新的内容类型,就是你的 “电影” 模型,点击它,你就会发现发布表单上出现了你自定义的所有字段,如“导演”、“类型”等,你就可以像发布普通文章一样,填写这些字段并发布你的第一篇“电影”内容了。
如何在前端页面调用自定义模型的数据?
都创建好了,最后一步就是在网站上显示出来,DedeCMS 使用 标签(tag) 来调用数据。
调用自定义模型的数据,通常需要两个步骤:
调用自定义字段值
假设你已经在电影详情页({dede:field.id/}.html),想显示“导演”和“类型”字段。
使用 {dede:field.字段名称/} 即可。
示例代码:
<p><strong>导演:</strong>{dede:field.director/}</p>
<p><strong>类型:</strong>{dede:field.movietype/}</p>
这里的 director 和 movietype 就是你第4步里设置的 字段名称。
调用自定义模型的内容列表
想在首页或其他列表页调用“电影”模型的内容,需要使用 {dede:arclist} 标签,并指定 channelid。
如何找到 channelid?
进入 【核心】 -> 【频道管理】,找到你的“电影”模型,查看它的“ID”列,这个数字就是 channelid,假设电影模型的 channelid 是 7。
示例代码:
{dede:arclist channelid='7' titlelen='30' row='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>导演:[field:director/]</span>
<span>评分:[field:score/]</span>
</li>
{/dede:arclist}
channelid='7':指定调用“电影”模型的内容。[field:arcurl/]:文章链接。[field:title/]。[field:director/]:调用自定义字段“导演”的值。
总结与注意事项
- 规划先行:在创建自定义模型前,先想清楚你要发布什么内容,需要哪些字段,字段类型是什么,一旦模型和内容都生成后,修改字段(尤其是字段名称)会非常麻烦。
- 字段名称规范:字段名称(英文标识)只允许使用字母、数字和下划线,且不能与系统默认字段冲突。
- 性能考虑:一个网站的自定义模型不宜过多,每个模型都会增加数据库表和查询负担,对于非常简单的扩展,可以考虑使用“附加字段”功能(在发布文章时添加)。
- 模板制作:自定义模型的内容需要专门的模板来显示,你需要在后台的 【模板管理】 -> 【自定义模板管理】 中为你的模型创建单独的模板文件(如
article_movie.htm),并在发布内容时指定使用该模板。
自定义模型是 DedeCMS 从“简单博客”走向“功能强大CMS”的关键一步,掌握它,你就能用 DedeCMS 构建出几乎任何类型的网站,希望这个详细的教程能帮到你!
