适用人群说明
本文专治以下病症:刚接触织梦CMS的新手站长,对系统自带字段不满意想增加“出版社”、“作者”、“价格”等专属信息却无从下手的半小白,以及明明按教程操作却总遇到“前台不显示”、“后台报错”等灵异事件的倒霉蛋,如果你是那种连“内容模型”和“字段”都分不清的老白,建议先关掉页面去读一遍官方基础手册再来;如果你已经准备好动手,那就跟着步骤走,保证不让你多走一步弯路。
第一步:先搞清楚你要加在哪
织梦CMS的字段添加可不是在数据库里直接建个表就完事——那样只会让你死得很惨,正确的路径是:后台 → 核心 → 频道模型 → 内容模型管理,看到这里,别急着点,先想清楚你是要给“普通文章”加字段,还是给“图集”、“软件”或者其他自定义模型加,如果是给默认的“普通文章”加,就在“普通文章”那一行的“字段管理”里操作;如果是新建一个模型,那就先点“增加模型”并设置好表名和说明。
注意:表名一旦确定就不要改,否则数据库里的表结构会乱,到时候哭都来不及,强迫症患者请克制住修改表名的冲动。

织梦CMS字段添加全攻略,从零到一,手把手带你实现自定义内容模型
第二步:字段添加的核心操作(附带截图级文字描述)
假设我们要给普通文章增加一个“副标题”字段,进入“普通文章”的“字段管理”后,点击“增加一个字段”,此时出现一个表单,你需要填写的项目如下:
- 字段名称:这里填英文或拼音,比如
subtitle,注意不要用中文,也别用数字开头,织梦的字段名最终会变成数据库列名,数据库对列名有字符限制,所以最好控制在20个字符以内。 - 字段别名:中文提示,副标题”,这个会显示在后台发布文章的表单里,让编辑看得懂。
- 字段类型:这是最关键的选项,大多数情况选“单行文本(varchar)”,如果你要存储大量内容(比如扩展介绍),选“多行文本(text)”;如果是数字(比如价格),选“整数(int)”或“浮点数(float)”,别图省事全选text,那会拖慢查询速度。
- 默认值:留空即可,或者填0、无。
- 是否必填:如果不想前台出现空数据,建议勾上,但注意,一旦勾选,所有已有的文章都要去补填这个字段,否则前台调用时会显示空值——不致命但很丑。
- 前台显示:这个选项控制后台编辑时该字段是否可见,通常勾上,如果你只是想存储数据不让人改,可以不勾。
填完后点击确定,此时你可能会看到提示“字段添加成功”,但别急着走——还需要在“模板标记”里确认它是否被自动添加到了可用标记列表中,如果没有,刷新页面重试。
第三步:让字段在前台模板里显示出来
字段添加了,但前台依然静悄悄?因为你还差最关键的一步:在模板里调用它,打开你的文章模板文件(比如article_article.htm),在需要显示副标题的位置插入这个标签:
{dede:field.subtitle/}
注意:标签名必须和你添加的“字段名称”严格一致,大小写敏感,如果你用了SubTitle,那标签也得是{dede:field.SubTitle/},织梦在这方面极其敏感,一个字母错就输出空。
如果你想把副标题放在标题下方并用小号字显示,可以这样写:
<h1>{dede:field.title/}</h1>
<p style="color:#999;font-size:14px;">{dede:field.subtitle/}</p>
保存模板,然后去前台刷新一篇文章页面,如果依然没有出现,检查三个地方:1. 这篇文章是否真的保存了副标题数据;2. 模板文件是否上传到了正确的位置(通常位于/templets/你的模板名/下);3. 是否开启了缓存,如果是动态页,清空一下/data/tplcache/目录下的文件。
第四步:配置要点——别让你的字段变成废铁
- 字段排序:在字段管理页面,每个字段前面都有个数字,数字越小越靠前,建议把常用字段(比如副标题)排在前三位,让编辑一眼能看到。
- 分组显示:如果你的模型有几十个字段,后台编辑页面会乱成一锅粥,可以在“字段管理”里点击“字段分组”,把性质相近的字段拖到一个组里,基本信息”、“SEO设置”、“扩展选项”,组名自己起,支持中文。
- 列表页调用:如果你想要在文章列表页也显示副标题,不能直接写上面的标签,因为列表页用的是
{dede:list}循环,正确做法是在列表模板里使用[field:subtitle/],注意是中括号。<li><a href="[field:arcurl/]">[field:title/]</a> - <span>[field:subtitle/]</span></li>
- 搜索功能:要让你添加的字段可以被搜索吗?如果不需要,不要勾选“搜索”选项,否则会大幅增加数据库查询负担,如果需要,就要在“频道模型”里设置搜索字段列表,具体操作是在模型管理里找到“搜索设置”标签。
第五步:常见踩坑提醒(每一条都是真金白银换来的)
坑1:字段添加后,后台编辑页面排版乱掉
这是因为你添加的字段类型是“多行文本”或“编辑器”,但没设置合适的宽度和高度,解决方法:在“字段管理”里点击该字段的“修改”,在“属性配置”里手动指定文本框的rows和cols,推荐宽度600像素,高度150像素。
坑2:前台死活不显示,后台数据却有
99%的可能是因为模板中的标签写错了,或者缓存没清,另外1%是因为你添加的字段名与系统保留字段冲突,比如body、typeid、click等,系统保留字段表在网上可以查到,不认识就别乱起名,安全起见字段名用my_开头,比如my_subtitle。
坑3:更新字段后,所有文章该字段默认都是“无”或“0”,但你想统一赋一个初始值
在添加字段时设置默认值可以解决一部分问题,但如果是已有文章,默认值只对新文章有效,要批量更新已有文章,需要手动写SQL(或者用插件),如果你不懂SQL,千万别直接在phpMyAdmin里乱改——我曾见过有人用UPDATE忘了加WHERE,结果整站文章的主标题都变成了“哈哈哈”,新手建议老老实实手动编辑每篇文章,或者找后台的“批量操作”功能。
坑4:字段是下拉菜单或单选按钮,配置后却不生效
下拉菜单类型需要先在“字段值列表”里填写选项,格式:每行一个选项,如
1|红色
2|蓝色
3|绿色
“|”前面是存储值(在数据库里存的是数字),后面是显示文本,注意:不要留空行,否则最后一个选项会变成空值,如果你需要多级联动(比如省市区),织梦原生不支持,需要二次开发或找插件。
坑5:字段添加后,网站慢如蜗牛
如果你给每个文章都加了10个以上的text类型字段,而且还在列表页循环调用(比如每个列表项都要输出10个字段),数据库查询次数直接翻倍,解决方案:只在内容页(article页面)调用复杂字段,列表页只调用有限的几个简单字段(varchar类型),或者用缓存插件。
最后一句忠告:在做任何字段添加操作前,先备份数据库,备份数据库,备份数据库,重要的事情说三遍,哪怕你觉得自己动作多精准,织梦的“一键配置”偶尔也会抽风,轻则字段消失,重则整个模型表结构错乱,备份文件放在服务器以外的位置,切记。
打开你的织梦后台,按照步骤操作一遍,遇到问题先深呼吸,把上面的踩坑列表再扫一遍,如果还是不行,就到网上搜索“织梦字段添加”,记住要加上你出错的具体报错信息——别只问“不显示”,没人能猜到你哪一步错了,动手吧,你行的。
发表评论