织梦arclist infolen参数如何正确使用?

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

arclist 标签概述

arclist 是“文章列表”的缩写,它是织梦CMS中最常用、最强大的列表标签之一,它的主要作用是在模板中调用一个文章列表,这个列表可以来自任意指定的栏目、频道,并且可以非常灵活地控制列表的样式、数量、排序方式以及显示哪些字段信息。

织梦arclist infolen
(图片来源网络,侵删)

基本语法结构:

{dede:arclist flag='' typeid='' row='' col='' titlelen='' infolen='' keyword='' orderby='' orderway='' }
    <!-- 循环体内的HTML和子标签 -->
{/dede:arclist}

infolen 属性详解

infolenarclist 标签的一个关键属性,它的作用是控制文章摘要(或称简介、内容概要)的显示长度

infolen 的作用

  • 功能:截取文章正文的开始部分,作为摘要显示在列表中。
  • 截取依据:它默认是按字符数来截取的,而不是按单词,来源**:它截取的是文章body字段(即文章正文内容)的开头部分,而不是文章的description(字段。

infolen 的语法

infolen='数字'

这里的 数字 代表你希望显示的摘要字符数量。infolen='200' 表示显示文章正文的前200个字符。

infolendescription 字段的区别(非常重要!)

很多新手会混淆 infolen 和文章的 description 字段,理解它们的区别是灵活运用织梦的关键:

织梦arclist infolen
(图片来源网络,侵删)

| 特性 | infolen 属性 | description 字段 | | :--- | :--- | :--- |来源 | 文章的 body(正文)字段 | 文章的 description(字段 | | 如何设置 | 在模板标签中通过 infolen='数字' 动态截取 | 在后台发布文章时,手动填写“内容 | | 优点自动化无需手动为每篇文章写摘要,统一性所有摘要长度一致。 | - 精准性可以手动控制摘要内容,突出重点,SEO友好摘要可以直接用作<meta name="description">。 | | 可能不精炼截取的开头可能不是文章的精华,可能截断不完整容易在句子中间断开。 | - 耗时每篇文章都需要手动填写,容易遗漏**:如果忘记填,则显示为空。 |

如何选择?

  • 如果你的网站文章数量庞大,且对摘要的精准度要求不高,希望自动化生成,使用 infolen 非常方便。
  • 如果你的网站文章较少,或者对SEO要求很高,希望每篇文章的摘要都精准、有吸引力,建议在后台手动填写 description 字段,然后在模板中调用它。

在模板中如何使用 infolen

示例1:基本用法

调用10篇推荐文章(flag='c'),每篇文章显示标题和前100个字符的摘要。

<h3>推荐文章</h3>
<ul>
    {dede:arclist flag='c' row='10' titlelen='30' infolen='100'}
        <li>
            <a href="[field:arcurl/]">[field:title/]</a>
            <p>[field:info/]</p>
        </li>
    {/dede:arclist}
</ul>

解释:

织梦arclist infolen
(图片来源网络,侵删)
  • flag='c':调用推荐文章。
  • row='10':显示10条记录,len='30'`:标题最多显示30个字符(超出部分用...代替)。
  • infolen='100':摘要截取100个字符。
  • [field:arcurl/]:文章链接的子标签。
  • [field:title/]的子标签。
  • [field:info/]这是调用 infolen 生成的摘要内容的关键子标签,无论你在 arclist 标签中设置了 infolen 的值是多少,最终都要通过 [field:info/] 来输出。

示例2:结合 description 字段(更专业的做法)

这是一个更常见的实践:优先使用手动填写的 descriptiondescription 为空,则再使用 infolen 自动截取

这可以通过织梦的默认函数 cn_substr()trim() 结合 if 条件判断来实现。

<h3>最新文章</h3>
<ul>
    {dede:arclist row='5' titlelen='40'}
        <li>
            <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
            <div class="summary">
                <!-- 如果description不为空,则显示description,否则截取body -->
                [field:description runphp='yes']
                    if(@me != '') @me = '<span class="manual-desc">@me</span>';
                    else @me = '';
                [/field:description]
                [field:info function='(strlen(@me)>100 ? cn_substr(@me,100)."..." : @me)'/]
            </div>
        </li>
    {/dede:arclist}
</ul>

解释:

  • [field:description runphp='yes']:我们让 description 字段支持PHP代码。
  • if(@me != '')@me 在这里代表 description 字段的值,判断如果摘要不为空...
  • @me = '<span class="manual-desc">@me</span>';:...就给摘要外面加一个 <span> 标签(方便用CSS区分),并保留其内容。
  • else @me = '';:...如果为空,则设置为空字符串。
  • [field:info function='...'/]:这里使用了 functioninfo(即 infolen 的结果)进行处理。
    • strlen(@me)>100:判断摘要长度是否超过100。
    • cn_substr(@me,100):如果超过,则用织梦自带的截取函数截取前100个字符。
    • 并在末尾加上省略号。
    • @me:如果没超过,则原样输出。

这个组合用法非常强大,既保证了有手动摘要时的精准性,又避免了忘记写摘要时的空白。


总结与最佳实践

  1. infolen 的核心:是 arclist 标签的一个属性,用于自动截取文章正文作为摘要,通过子标签 [field:info/] 输出。
  2. infolen vs description:一个是自动截取(从body),一个是手动填写description字段),两者功能相似,但应用场景不同。
  3. 推荐用法
    • 对于内容量大、更新频繁的网站(如资讯、博客),直接使用 infolen 可以极大提高效率。
    • 对于重要栏目、SEO优化的网站,建议优先使用 description 字段,可以通过在模板中结合 runphpif 判断,实现“有description则显示description,无则用infolen”的优雅降级方案,这是最专业和稳妥的做法。

掌握 arclistinfolen 的使用,是熟练驾驭织梦CMS进行模板开发的基础,希望这个详细的解释能帮助你更好地理解和使用它们!

-- 展开阅读全文 --
头像
C语言textbackground函数如何设置文本背景色?
« 上一篇 2025-12-10
0dede.com是什么网站?
下一篇 » 2025-12-10

相关文章

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