使用官方推荐的“字段(最标准、最推荐)
这是织梦CMS官方提供最标准、最规范的方法,每个文章模型都默认包含一个description字段,专门用于存放文章摘要。

(图片来源网络,侵删)
操作步骤:
-
登录后台:使用管理员账号登录您的织梦CMS后台。
-
进入文章编辑页面:
- 如果您是发布新文章,请点击「内容发布」 -> 「添加普通文章」。
- 如果您是修改已有文章,请点击「内容管理」 -> 「所有文档」,找到您要修改的文章,点击标题进入编辑页面。
-
找到“输入框:
(图片来源网络,侵删)- 在文章编辑页面的下方,您会看到一个名为“文章摘要”的文本框。
-
填写摘要:
- 在这个文本框中,手动输入您为这篇文章精心撰写的摘要。
- 摘要建议:
- 长度:建议在 80-200个汉字 之间,太短信息量不足,太长在搜索结果中可能显示不全。
- 提炼文章的核心内容,包含文章的主要关键词,语言要通顺、有吸引力。
- 避免:避免在摘要中堆砌关键词,或者与文章内容无关的“垃圾”信息。
-
保存:
- 填写完摘要后,点击页面底部的「保存」或「保存并关闭」按钮即可。
优点:
- 规范标准:符合织梦系统的数据结构,方便调用。
- SEO友好:各大搜索引擎(如百度、谷歌)在抓取网站时,会优先使用这个
description作为搜索结果页面的摘要展示。 - 调用方便:在模板文件中,通过
[field:description/]标签可以非常方便地调用。
利用“自动提取摘要”功能(适用于批量处理)
如果您已经发布了大量文章,没有手动填写摘要,织梦CMS提供了一个自动提取功能,可以从文章正文中截取前一部分作为摘要。

(图片来源网络,侵删)
操作步骤:
-
进入文章编辑页面:与方法一相同,进入您需要修改的文章编辑页面。
-
点击“自动提取摘要”:
- 在“输入框的下方,通常会有一个「自动提取摘要」的按钮。
- 点击这个按钮,系统会自动从文章的
body(文章正文)中提取开头的部分文字,并填充到“框中。
-
手动修改和完善:
- 自动提取的摘要通常比较生硬,可能不完整或包含多余的HTML标签。
- 强烈建议:在自动提取后,您再手动检查并修改一下,使其更通顺、更具吸引力。
优点:
- 高效快捷:适合批量处理旧文章,节省手动输入的时间。
- 无需插件:系统自带功能,无需安装任何额外插件。
缺点:
- 效果不佳:提取的摘要可能不理想,需要二次人工加工。
- 可能截断:如果正文开头是图片、代码或其他非文本内容,提取可能会失败或效果很差。
通过修改模板文件,让摘要显示在首页或列表页
有时候您发现后台填写了摘要,但在首页或文章列表页没有显示出来,这是因为模板文件中没有调用相应的标签。
常见问题:首页或列表页默认可能只调用文章的“内容截取”,而不是“字段。
解决方案:
-
找到对应的模板文件:
- 首页摘要:通常位于
templets/default/index.htm(您的默认模板目录)。 - 列表页摘要:通常位于
templets/default/list_artlist.htm或templets/您的栏目目录/list_栏目ID.htm。
- 首页摘要:通常位于
-
修改模板代码:
- 在模板文件中,找到循环文章列表的代码块,通常是
{dede:arclist}或{dede:list}- 默认情况下,它可能使用
[field:info/]或[field:shorttitle/]来显示简短信息。- 您需要将其替换为调用“的标签
[field:description/]。 - 默认情况下,它可能使用
- 在模板文件中,找到循环文章列表的代码块,通常是
示例代码修改:
假设您的首页文章列表模板是 index.htm,原始代码可能是这样的:
{dede:arclist typeid='' row='10' titlelen='40'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:info/]</span> <!-- 这可能是截取正文,而不是摘要 -->
</li>
{/dede:arclist}
您想让它显示后台填写的摘要,可以修改为:
{dede:arclist typeid='' row='10' titlelen='40'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:description function='html2text(@me)'/></span> <!-- 调用摘要,并过滤HTML标签 -->
</li>
{/dede:arclist}
重要说明:
[field:description/]:直接输出后台填写的摘要,如果摘要中包含HTML标签(如<p>、<br>),它们也会被输出。[field:description function='html2text(@me)'/]:这是一个更推荐的方式。html2text函数会自动将摘要中的HTML标签去除,只保留纯文本,这样在列表页显示会更整洁。
通过修改程序,让摘要自动从正文生成(进阶)
如果您希望所有新发布的文章自动将正文前N个字符作为摘要,而不需要手动填写,可以通过修改核心程序文件来实现。
⚠️ 警告:此方法涉及修改核心文件,请在操作前务必备份您的网站文件和数据库,以防出错导致网站无法正常访问。
操作步骤:
-
找到并打开文件:
- 使用FTP工具或服务器文件管理器,找到并打开以下文件:
/include/helpers/archive.helper.php
- 使用FTP工具或服务器文件管理器,找到并打开以下文件:
-
定位并修改代码:
- 在该文件中,搜索
if($description=='')这段代码,您会找到类似下面这样的逻辑:if($description=='') { $description = cn_substr($body, $descriptionlen); } - 这段代码的意思是:如果
$description(文章摘要字段)为空,则从$body(文章正文)中截取$descriptionlen作为摘要。 - 织梦默认就是这样做的! 如果您没有在后台填写摘要,系统就已经在自动生成了。
- 如果您想让这个行为更“强制”,可以修改成:
// 总是自动生成摘要,忽略后台填写的值 $description = cn_substr($body, $descriptionlen);
- 或者,如果您想让摘要更长一些,可以修改
$descriptionlen的值,这个变量通常在调用TrimStr等函数时定义,或者直接修改为固定数字,if($description=='') { // 修改200为您想要的摘要长度 $description = cn_substr($body, 200); }
- 在该文件中,搜索
-
保存文件:
- 保存修改后的
archive.helper.php文件。
- 保存修改后的
效果: 经过此修改,无论您是否在后台填写摘要,系统都会强制从正文中截取指定长度的内容作为最终的摘要。
总结与最佳实践
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 手动填写 | 最规范、SEO效果最好、内容可控 | 耗时,需要人工操作 | 所有新文章,特别是对SEO要求高的网站。 |
| 自动提取 | 快速,适合批量处理旧文章 | 提取效果可能不理想,需二次编辑 | 处理大量没有摘要的历史文章。 |
| 修改模板 | 解决“有摘要不显示”的问题 | 需要懂一点模板知识 | 当后台填写了摘要但前台不显示时。 |
| 修改程序 | 全自动,一劳永逸 | 修改核心文件有风险,内容不灵活 | 对SEO要求不高,追求极致效率的网站。 |
给您的最终建议:
- 对于新发布的文章:请务必使用方法一,在后台“字段中手动填写一段高质量的、包含关键词的摘要,这是对SEO和用户体验最负责的做法。
- 对于旧文章:可以使用方法二进行批量处理,然后再花少量时间对重要文章的摘要进行手动优化。
- 如果前台不显示摘要:检查并使用方法三修改您的模板文件。
- 除非有特殊需求,否则不推荐使用方法四,因为它会剥夺您手动控制摘要的权力。
