如何设置与调用?

99ANYc3cd6
预计阅读时长 14 分钟
位置: 首页 织梦建站 正文

使用官方推荐的“字段(最标准、最推荐)

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

织梦 自定义文章摘要
(图片来源网络,侵删)

操作步骤:

  1. 登录后台:使用管理员账号登录您的织梦CMS后台。

  2. 进入文章编辑页面

    • 如果您是发布新文章,请点击「内容发布」 -> 「添加普通文章」。
    • 如果您是修改已有文章,请点击「内容管理」 -> 「所有文档」,找到您要修改的文章,点击标题进入编辑页面。
  3. 找到“输入框

    织梦 自定义文章摘要
    (图片来源网络,侵删)
    • 在文章编辑页面的下方,您会看到一个名为“文章摘要”的文本框。
  4. 填写摘要

    • 在这个文本框中,手动输入您为这篇文章精心撰写的摘要。
    • 摘要建议
      • 长度:建议在 80-200个汉字 之间,太短信息量不足,太长在搜索结果中可能显示不全。
      • 提炼文章的核心内容,包含文章的主要关键词,语言要通顺、有吸引力。
      • 避免:避免在摘要中堆砌关键词,或者与文章内容无关的“垃圾”信息。
  5. 保存

    • 填写完摘要后,点击页面底部的「保存」或「保存并关闭」按钮即可。

优点

  • 规范标准:符合织梦系统的数据结构,方便调用。
  • SEO友好:各大搜索引擎(如百度、谷歌)在抓取网站时,会优先使用这个description作为搜索结果页面的摘要展示。
  • 调用方便:在模板文件中,通过[field:description/]标签可以非常方便地调用。

利用“自动提取摘要”功能(适用于批量处理)

如果您已经发布了大量文章,没有手动填写摘要,织梦CMS提供了一个自动提取功能,可以从文章正文中截取前一部分作为摘要。

织梦 自定义文章摘要
(图片来源网络,侵删)

操作步骤:

  1. 进入文章编辑页面:与方法一相同,进入您需要修改的文章编辑页面。

  2. 点击“自动提取摘要”

    • 在“输入框的下方,通常会有一个「自动提取摘要」的按钮。
    • 点击这个按钮,系统会自动从文章的body(文章正文)中提取开头的部分文字,并填充到“框中。
  3. 手动修改和完善

    • 自动提取的摘要通常比较生硬,可能不完整或包含多余的HTML标签。
    • 强烈建议:在自动提取后,您再手动检查并修改一下,使其更通顺、更具吸引力。

优点

  • 高效快捷:适合批量处理旧文章,节省手动输入的时间。
  • 无需插件:系统自带功能,无需安装任何额外插件。

缺点

  • 效果不佳:提取的摘要可能不理想,需要二次人工加工。
  • 可能截断:如果正文开头是图片、代码或其他非文本内容,提取可能会失败或效果很差。

通过修改模板文件,让摘要显示在首页或列表页

有时候您发现后台填写了摘要,但在首页或文章列表页没有显示出来,这是因为模板文件中没有调用相应的标签。

常见问题:首页或列表页默认可能只调用文章的“内容截取”,而不是“字段。

解决方案

  1. 找到对应的模板文件

    • 首页摘要:通常位于 templets/default/index.htm (您的默认模板目录)。
    • 列表页摘要:通常位于 templets/default/list_artlist.htmtemplets/您的栏目目录/list_栏目ID.htm
  2. 修改模板代码

    • 在模板文件中,找到循环文章列表的代码块,通常是 {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个字符作为摘要,而不需要手动填写,可以通过修改核心程序文件来实现。

⚠️ 警告:此方法涉及修改核心文件,请在操作前务必备份您的网站文件和数据库,以防出错导致网站无法正常访问。

操作步骤:

  1. 找到并打开文件

    • 使用FTP工具或服务器文件管理器,找到并打开以下文件: /include/helpers/archive.helper.php
  2. 定位并修改代码

    • 在该文件中,搜索 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); 
      }
  3. 保存文件

    • 保存修改后的 archive.helper.php 文件。

效果: 经过此修改,无论您是否在后台填写摘要,系统都会强制从正文中截取指定长度的内容作为最终的摘要。


总结与最佳实践

方法 优点 缺点 适用场景
手动填写 最规范、SEO效果最好、内容可控 耗时,需要人工操作 所有新文章,特别是对SEO要求高的网站。
自动提取 快速,适合批量处理旧文章 提取效果可能不理想,需二次编辑 处理大量没有摘要的历史文章。
修改模板 解决“有摘要不显示”的问题 需要懂一点模板知识 当后台填写了摘要但前台不显示时。
修改程序 全自动,一劳永逸 修改核心文件有风险,内容不灵活 对SEO要求不高,追求极致效率的网站。

给您的最终建议:

  1. 对于新发布的文章:请务必使用方法一,在后台“字段中手动填写一段高质量的、包含关键词的摘要,这是对SEO和用户体验最负责的做法。
  2. 对于旧文章:可以使用方法二进行批量处理,然后再花少量时间对重要文章的摘要进行手动优化。
  3. 如果前台不显示摘要:检查并使用方法三修改您的模板文件。
  4. 除非有特殊需求,否则不推荐使用方法四,因为它会剥夺您手动控制摘要的权力。
-- 展开阅读全文 --
头像
dede后台登录参数如何配置?
« 上一篇 今天
dede多张图CSS样式如何设置?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码