织梦列表如何调用文章内容?

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

正确的方法是调用文章的摘要截取文章正文的前N个字符

织梦列表调用文章内容
(图片来源网络,侵删)

下面我将为你详细讲解几种最常用和最有效的方法,从最推荐到备选方案排列。


使用系统自带的摘要功能(最推荐、最规范)

这是织梦官方设计的标准方法,也是最佳实践,它要求你在后台发布文章时,手动填写摘要。

后台设置摘要

  • 登录织梦后台,进入“[内容] -> [添加文档]”或“[修改文档]”。
  • 在文章编辑界面的下方,你会找到一个名为 的文本框。
  • 在这里手动填写你希望在列表页显示的内容,比如文章的核心观点、精彩段落等。

前台调用摘要

织梦列表调用文章内容
(图片来源网络,侵删)

在列表页模板(通常是 list_article.htm)中,使用织梦的底层模板字段 {dede:field.description/} 来调用你刚刚填写的摘要。

示例代码:

{dede:list pagesize='10'}
    <li>
        <h3><a href="[field:arcurl/]">[field:title/]</a></h3>
        <!-- 调用摘要 -->
        <p class="summary">[field:description/]...</p>
        <span class="info">发布时间:[field:pubdate function="MyDate('Y-m-d',@me)'/] | 作者:[field:writer/]</span>
    </li>
{/dede:list}

优点:

  • SEO友好是独立可控的,可以针对性地优化关键词。
  • 加载速度快:摘要字段长度固定,不会因文章过长而拖慢页面。
  • 规范整洁经过人工筛选,列表页展示更专业。

自动截取文章正文内容(常用、便捷)

如果你不想每次都手动填写摘要,可以使用织梦的 cn_substr 函数来自动截取文章正文的前N个字符作为摘要。

前台调用代码

在列表页模板中,使用 {dede:field.body} 获取文章正文,并用 cn_substr 函数进行截取。

示例代码:

{dede:list pagesize='10'}
    <li>
        <h3><a href="[field:arcurl/]">[field:title/]</a></h3>
        <!-- 
            自动截取文章正文前150个字符作为摘要
            function="cn_substr(@me, 150)" 
            @me 代表当前字段的值,即 field:body
            150 是你想要截取的字符数
        -->
        <p class="summary">[field:body function='cn_substr(@me, 150)'/]...</p>
        <span class="info">发布时间:[field:pubdate function="MyDate('Y-m-d',@me)'/] | 作者:[field:writer/]</span>
    </li>
{/dede:list}

注意事项

  • 包含HTML标签:直接截取 field:body 可能会把HTML标签(如 <p>, <img>, <strong>)也截断在摘要里,导致显示错乱。
  • 解决方案:为了解决这个问题,织梦提供了一个非常强大的函数 strip_tags,它可以移除所有的HTML标签。

优化后的自动截取代码(推荐使用):

{dede:list pagesize='10'}
    <li>
        <h3><a href="[field:arcurl/]">[field:title/]</a></h3>
        <!-- 
            1. strip_tags(@me) 先移除 body 中的所有HTML标签
            2. cn_substr(...) 再对纯文本进行截取,这里截取200个字符
        -->
        <p class="summary">[field:body function='cn_substr(strip_tags(@me), 200)'/]...</p>
        <span class="info">发布时间:[field:pubdate function="MyDate('Y-m-d',@me)'/] | 作者:[field:writer/]</span>
    </li>
{/dede:list}

调用文章简介(次选)

如果你的文章模型中添加了“文章简介”这个字段(在“后台-核心-频道模型-内容模型管理”中编辑),你也可以调用它。

后台添加简介字段

确保你的文章模型里有一个名为 description 或类似名称的简介字段,并且它在“发布表单”中是显示的。

前台调用代码

调用方法和调用摘要完全一样,底层模板字段也是 {dede:field.description/}

<p class="summary">[field:description/]...</p>

区别与选择:

  • (description):通常用于SEO,显示在<meta name="description" ...>标签里,也可能在列表页显示。
  • 简介 (introtext 或其他自定义字段):更多是作为文章的一个辅助说明,不一定在列表页默认调用。

在实际使用中,方法一和方法二的组合是最灵活的

  • 如果后台填写了摘要,优先显示摘要。
  • 如果后台没有填写摘要,则自动截取正文。

你可以通过修改织梦的核心文件来实现这个逻辑,但对于大多数用户来说,手动选择一种方法并保持一致性就足够了。


总结与建议

方法 优点 缺点 推荐度
调用手动摘要 SEO最佳、速度快、内容可控 需要额外手动输入内容 ★★★★★ (最推荐)
自动截取正文 无需手动、方便快捷 可能截断HTML标签、SEO效果略差、内容可能不完整 ★★★★☆ (非常常用)
调用简介字段 灵活,可自定义 需要额外配置模型,非标准做法 ★★☆☆☆ (次选)

最终建议:

  1. 首选方法一:养成在后台填写摘要的好习惯,这对你的网站SEO和用户体验都有巨大好处。
  2. 备选方法二:如果网站文章量巨大,实在没时间手动写摘要,使用 cn_substr(strip_tags(@me), 200) 是一个非常不错的自动化方案,能保证基本的展示效果。

选择最适合你网站运营模式的方法即可。

-- 展开阅读全文 --
头像
织梦批量替换文章摘要,如何操作?
« 上一篇 02-28
织梦后台登录模板下载,安全吗?
下一篇 » 02-28

相关文章

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

目录[+]