通常在“织梦内容管理系统”(DedeCMS)的系列教程中,第15章会进入一个核心且复杂的阶段:“自定义模型与内容发布”,这一章标志着学习者从使用系统默认功能(如文章、图集)转向根据自身网站需求,创建全新内容类型的阶段。
以下是“龙书浩织梦教程15”可能包含的核心内容、详细解读以及实践指南。
教程15核心主题:自定义模型与内容发布
这一章的目标是让学员掌握如何创建一个不属于系统默认类型(如文章、产品)的全新内容模型,并学会如何在前台调用和展示这些自定义的内容。
第一节:为什么要使用自定义模型?
在开始操作前,教程会先解释其必要性和优势:
- 内容类型多样化:如果你的网站不仅仅是新闻博客,可能还需要发布“招聘信息”、“房产信息”、“课程介绍”、“软件下载”等,每种类型都有其独特的字段,如“薪资”、“地址”、“户型”、“价格”、“版本号”、“下载链接”等,默认的文章模型无法满足这些需求。
- 数据结构清晰:通过为不同类型的内容创建独立的模型,可以确保数据的规范性和完整性,方便后期管理和统计。
- 前台展示灵活:自定义模型配合织梦的模板引擎,可以设计出完全符合业务需求的页面布局。
第二节:创建自定义模型的完整流程
这是本章的核心操作部分,通常分为以下几步:
进入模型管理后台
- 登录织梦后台。
- 路径:
核心->内容模型管理->内容模型管理。
创建新模型
- 在模型管理页面,点击“模型”按钮。
- 填写模型信息:
- 模型名称:给你的新模型起一个直观的名字,如“招聘信息”、“产品”。
- 表前缀:系统会自动生成,如
dede_addonjob(代表招聘信息的附加表)。通常保持默认即可,不要修改。 - 模型类型:选择“普通模型”。
- 内容目录:选择或创建一个用于存放此类内容的栏目。
- 字段目录:选择或创建一个用于存放此类内容字段信息的目录。
- 是否支持发布:选择“是”。
- 其他选项:如是否支持会员发布、是否支持投稿等,根据需求勾选。
- 点击“确定”完成模型的创建,一个空的“招聘信息”模型框架就搭建好了。
设计并添加模型字段
这是最关键的一步,决定了你的内容能包含哪些信息。
-
在刚刚创建的模型管理页面,找到你的新模型(如“招聘信息”),点击其后的“管理字段”。
-
点击“增加字段”,开始添加你需要的字段,每个字段都需要设置以下属性:
- 字段名:字段的英文标识,非常重要,将用于模板调用。
salary(薪资)、company(公司名称)、experience(工作经验)。 - :在前台显示的中文标题,“薪资范围”、“公司名称”、“工作经验要求”。
- 字段类型:选择合适的类型。
text:单行文本,如公司名。textarea:多行文本,如职位描述。number:数字,如薪资。datetime:日期时间,如发布日期、截止日期。select:下拉选择,如工作性质(全职/兼职/实习)。radio:单选按钮,如学历要求(本科/硕士/博士)。checkbox:多选框,如福利待遇(五险一金/带薪年假/交通补贴)。editor:编辑器,可以插入图片和文字,如详细的职位描述。img:图片上传,如公司Logo。uploads:文件上传,如附件(如职位说明书)。
- 字段提示:在后台发布内容时,给管理员看的提示信息。
- 默认值:可选,设置字段的默认值。
- 是否为必填项:勾选后,发布内容时此字段必须填写。
- 字段名:字段的英文标识,非常重要,将用于模板调用。
-
重复此步骤,添加所有需要的字段(如:薪资、公司、地点、学历、经验、福利、职位描述等)。
创建栏目并关联模型
模型创建好了,需要一个“容器”来存放它。
- 进入
栏目管理->添加栏目。 - 栏目名称:如“最新招聘”、“热门职位”。
- 栏目类型:选择“频道栏目”。
- 模型:这是关键! 从下拉列表中选择你刚刚创建的“招聘信息”模型。
- 填写其他信息(如栏目目录、列表模板、文章模板等),确定”。
发布自定义内容
- 进入
内容管理->添加文档。 - 你会发现,发布页面的表单已经变成了你为“招聘信息”模型设计的字段,而不是默认的文章编辑器。
- 填写你添加的所有字段信息(公司名、薪资、职位描述等)。
- 选择之前创建好的“招聘信息”栏目。
- 点击“确定发布”。
第三节:前台调用与展示
发布成功后,如何在网站上显示出来?
调用自定义字段值
在织梦模板中,调用自定义字段值的方法与默认字段略有不同,默认字段(如 方法一(推荐):在 在 在 调用自定义字段(单选/下拉选择)的选项值 如果你的字段是 通过完成第15章的学习,你将彻底掌握织梦CMS的精髓,能够驾驭任何类型的内容网站项目,而不仅仅局限于新闻博客,这是从“使用者”到“开发者”的关键一步。title、body)可以直接用{dede:field.title/}调用,但自定义字段需要使用array或field
{dede:list}或{dede:arclist}中使用{dede:list pagesize='10'}
<h3><a href="[field:arcurl/]">[field:title/]</a></h3>
<p>公司:{field:company/}</p>
<p>薪资:{field:salary/}</p>
<p>工作经验要求:{field:experience/}</p>
<hr>
{/dede:list}
{dede:list}循环体内,使用{field:自定义字段名/}来调用。{dede:field}标签中调用(用于内容页)页模板(article_article.htm)中:<h1>{dede:field.title/}</h1>
<p>发布时间:{dede:field.pubdate function='MyDate('Y-m-d', @me)'/}</p>
<p>公司名称:{dede:field.company/}</p>
<p>薪资范围:{dede:field.salary/}</p>
<p>职位描述:{dede:field.description/}</p>
select或radio类型,存储的是选项的value值,如果你想显示option的文本,需要使用@me变量。worktype字段是单选,选项为:全职(value=1)、兼职(value=2)。{dede:list}
<p>工作性质:
[field:worktype runphp='yes']
if(@me == 1) @me = '全职';
else if(@me == 2) @me = '兼职';
else @me = '其他';
[/field:worktype]
</p>
{/dede:list}
实战案例:创建一个“软件下载”模型
softname (文本): 软件名称version (文本): 版本号filesize (文本): 文件大小 (e.g., 15.6MB)platform (单选): Windows / macOS / Linuxsoftpic (图片): 软件截图downurl (文件): 下载地址introduce (编辑器): 软件介绍
总结与注意事项
list_job.htm, article_job.htm),并确保在栏目设置中正确指定了这些模板。
