模型?
模型就是创建一种全新的内容类型。

默认情况下,DedeCMS 有几种固定的模型:
- 文章:用于发布新闻、博客、教程等纯文本内容。
- 图集:用于发布图片集。
- 软件:用于发布软件下载信息。
- 商品:用于商城系统。
如果你的网站需要发布“招聘信息”、“房产信息”、“问答”、“活动”等这些在默认模型中没有的内容类型,你就可以通过“自定义内容模型”来创建它们。
创建一个新模型,就像设计一个“数据表结构”,你需要定义这个模型包含哪些字段(招聘信息需要“岗位名称”、“薪资”、“工作地点”、“任职要求”等字段),每个字段是什么类型(文本、数字、下拉选择、编辑器等)。
模型的完整创建流程
我们将以创建一个“招聘信息”模型为例,一步步演示整个过程。

第一步:后台入口
登录你的 DedeCMS 后台,在左侧菜单栏找到: 【核心】 -> 【内容模型管理】 点击进入后,你会看到系统默认的几个模型。
第二步:创建新模型
点击页面右上角的 【增加一个内容模型】 按钮。
第三步:填写模型基本信息
在这个页面,你需要填写新模型的核心信息。
| 选项 | 说明 | 示例(招聘信息模型) |
|---|---|---|
| 模型名称 | 给你的新模型起一个名字,方便识别。 | 招聘信息 |
| 表前缀 | 模型数据存储的数据表前缀,系统会自动生成,通常无需修改。 | dede_ (默认) |
| 附加表前缀 | 模型扩展字段(我们下面要添加的那些自定义字段)将存储在这个表里,系统会自动生成,如 dede_ + 你的模型名称。 |
dede_zhaopinxinxi |
| 模型图标 | 可选,在后台列表中显示的图标。 | 选择一个合适的图标 |
| 列表行数 | 列表页面,每页显示多少条记录。 | 20 (默认) |
| 是否支持投稿 | 是否允许会员在前台投稿。 | 否 (根据需求选择) |
| 是否支持评论 | 此类型的内容是否允许用户评论。 | 否 (根据需求选择) |
| 列表命名规则 | 列表页的 URL 命名规则,可以使用系统变量,如 {typedir}/list_{tid}_{page}.html |
保持默认 |
| 文章命名规则 | 详情页的 URL 命名规则,如 {typedir}/{aid}.html 或 {typedir}/{Y}/{M}{D}/{aid}.html |
保持默认 |
填写完毕后,点击 [确定] 按钮,模型就创建成功了!虽然现在它还没有任何字段,所以还不能发布内容。

第四步:添加模型字段(最关键的一步)
模型创建成功后,你需要为它添加具体的“字段”,这些字段就是你在发布内容时需要填写的表单项目。
-
在左侧菜单栏找到 【核心】 -> 【内容模型管理】。
-
你刚刚创建的“招聘信息”模型应该已经出现在列表里了。
-
点击模型名称 “招聘信息” 后面的 [字段管理] 按钮。
-
进入字段管理页面后,点击 [增加新字段] 按钮。
-
填写字段信息:
| 选项 | 说明 | 示例(招聘信息字段) |
|---|---|---|
| 字段名称 | 字段的英文名称,只能包含字母、数字和下划线,且不能以数字开头。 | job_title (岗位名称) |
| 字段提示 | 在后台发布内容时,字段旁边显示的提示文字。 | 请输入岗位名称,如:PHP开发工程师 |
| 字段类型 | 这是最重要的选择! 决定了你输入数据的格式。 | 单行文本 |
| 字段大小 | 对于文本类字段,可以设置输入框的长度。 | 50 |
| 默认值 | 可选,设置字段的默认值。 | 空着 |
| 是否为空 | 时,该字段是否必须填写。 | 是 (设为“否”则此项为必填项) |
| 字段级别 | 设置该字段在后台的显示权限,通常保持默认即可。 | 系统默认 |
| 显示顺序 | 字段在发布页面中的排列顺序,数字越小越靠前。 | 1 |
常用字段类型介绍:
- 单行文本:用于简短文字,如姓名、标题、地点等。
- 多行文本:用于较长的描述,如简介、备注等。
- 编辑器:用于富文本内容,支持图片、格式等,如“职位描述”、“公司介绍”。
- 数字:用于输入纯数字,如薪资、人数等。
- 下拉:从几个固定选项中选择一个,如“学历”、“工作经验”、“工作性质”,你需要在这里设置选项,用 分隔,
不限|1-3年|3-5年|5年以上。 - 复选框:可以从多个固定选项中选择多个,如“技能标签”。
- 日期:用于选择日期,如“发布日期”、“截止日期”。
- 附件:用于上传文件,如“下载简历模板”。
- 图片:用于上传单张图片,如“公司Logo”。
为“招聘信息”模型添加几个字段:
- 岗位名称:类型为 单行文本,必填。
- 薪资范围:类型为 下拉,选项为
面议|3k-5k|5k-10k|10k-15k|15k以上,必填。 - 工作地点:类型为 单行文本,必填。
- 工作经验:类型为 下拉,选项为
不限|应届生|1-3年|3-5年|5年以上。 - 学历要求:类型为 下拉,选项为
不限|大专|本科|硕士|博士。 - 职位描述:类型为 编辑器。
- 公司介绍:类型为 编辑器。
添加完所有需要的字段后,点击 [保存]。
第五步:生成栏目并发布内容
你的“招聘信息”模型已经准备就绪,可以使用了。
-
生成栏目:
- 进入 【频道】 -> 【栏目管理】**。
- 点击 [增加顶级栏目]。
- 在“栏目名称”中输入“招聘信息”。
- 最关键的一步:在“栏目内容类型”或“选择内容模型”的下拉菜单中,选择你刚刚创建的 “招聘信息” 模型。
- 其他信息如栏目目录、列表模板等按需填写。
- 保存后,这个栏目就绑定了你的自定义模型。
-
:
- 进入 【核心】 -> 发布】**。
- 在右上角,你应该能看到一个下拉菜单,可以选择模型类型,选择 “招聘信息”。
- 你会看到发布页面已经变成了你设计的表单,包含了“岗位名称”、“薪资范围”等所有你添加的字段。
- ,点击 [发布] 即可。
如何调用自定义模型的内容?
只是第一步,更重要的是如何在网站上展示出来,DedeCMS 使用 来调用数据。
调用自定义模型数据的核心标签是 arclist 和 list,关键在于使用 channelid 属性来指定你要调用的模型。
如何找到 channelid?
在 【核心】 -> 【内容模型管理】 中,将鼠标悬停在你创建的模型名称上,浏览器状态栏会显示一个链接,里面 channelid= 后面的数字就是你的模型ID,如果你的“招聘信息”模型是第5个创建的,它的 channelid 可能就是 5。
示例:调用招聘信息
假设你的招聘信息栏目的ID是 5,模型 channelid 也是 5。
调用招聘信息列表(在首页或其他列表页使用)
{dede:arclist channelid='5' row='10' titlelen='30'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>薪资:[field:salary_range/]</span>
<span>地点:[field:work_location/]</span>
</li>
{/dede:arclist}
channelid='5':指定调用“招聘信息”模型的数据。row='10':调用10条记录。[field:arcurl/]详情页的链接。[field:title/]。[field:salary_range/]:调用你自定义的“薪资范围”字段的值。
生成招聘信息列表页
- 进入 【生成】 -> 【更新栏目HTML】**。
- 找到你创建的“招聘信息”栏目,点击后面的 [生成列表]。
- 系统会根据你设定的列表模板(如
list_job.htm)生成静态列表页,在模板文件中,同样使用上面的arclist标签来调用数据。
生成招聘信息详情页
- 进入 【生成】 -> 【一键更新所有】,或者直接在内容管理里点击单篇内容的 [生成HTML]**。
- 系统会根据详情页模板(如
article_job.htm)生成静态详情页,在详情页模板中,使用field标签来显示内容。
<h1>[field:title/]</h1>
<p>薪资范围:[field:salary_range/]</p>
<p>工作地点:[field:work_location/]</p>
<p>工作经验要求:[field:work_experience/]</p>
<div>
[field:job_description function='htmlspecialchars(@me)'/] <!-- 使用编辑器字段 -->
</div>
注意事项与最佳实践
- 规划先行:在创建模型前,想清楚这个内容类型需要哪些字段,字段类型是什么,避免后期反复修改。
- 字段命名:字段名称(英文)一旦确定并发布内容后,尽量不要修改,否则会导致数据无法正确显示。
- 性能考虑:每个自定义模型都会生成一张新的数据表,字段不宜过多过复杂,以免影响数据库查询性能。
- 模板制作:为自定义模型制作独立的列表模板(
list_xxx.htm)和详情模板(article_xxx.htm),这样更有利于网站管理和SEO。 - SEO设置:在创建模型时,可以设置列表和文章的命名规则,使其包含关键词,有利于搜索引擎优化。
通过以上步骤,你就可以在 DedeCMS 中灵活地创建和管理各种类型的内容,极大地扩展了网站的功能。
