在Dedecms中,列表页调用文章摘要是一项常见需求。以下是几种常用方法及如何突破系统默认的字符数限制,从而实现更加灵活的摘要显示。

1:[field:info /]
2:[field:description /]
3:[field:info function="cn_substr(@me,字符数)"/]
4:[field:description function="cn_substr(@me,字符数)"/]

前两种方法直接调用文章摘要,在字符数控制上较为被动。使用[field:info /]时,可通过{dede:arclist infolen='字符数'}{/dede:arclist}设置摘要长度,但上限为系统设定的250字符;而[field:description /]则依赖后台设定的摘要字符上限。

后两种方法通过function函数实现了对摘要显示字符的灵活调整。然而,默认情况下,摘要内容的字符上限仍受系统限制。下面介绍如何修改这一上限值。

与文章摘要相关的PHP文件包括:


/dede/archives_add.php
/dede/archives_edit.php
/dede/article_add.php
/dede/article_edit.php
/dede/article_description_main.php
    

在add页面中,有语句“$description = cn_substrR($description,$cfg_auot_description);”,它实现了[field:description function="cn_substr(@me,字符数)"/]功能。此语句有利于页面布局,因此建议保留不改。

在edit页面中,“$description = cn_substrR($description,250);”这句中的“250”即是系统默认的文章摘要字符数上限。GBK编码下显示125字,UTF-8编码下显示81字。要突破这个限制,只需将“250”改为其他值,如“500”。不过,不建议设置过高,以免列表页内容过多或数据库冗余。

此外,还需修改article_description_main.php文件。找到“if($dsize>250) $dsize = 250;”语句,将其“250”改为“500”,以匹配之前的修改。若确认每篇文章都手动添加摘要,则可跳过此步。

最后,登录后台,在系统 - 系统基本参数 - 其他选项中,将自动摘要长度设为“500”。

完成上述修改后,可在频道列表页通过标签调用摘要,示例如下:


{dede:list typeid='' row='5' titlelen='100' orderby='new' pagesize='5'}
[field:title/]
[field:description function='cn_substr(@me,500)'/]…
{/dede:list}
    

这样,我们就成功将文章摘要字符数扩展至500字符,突破了系统默认的250字符限制,为网页布局提供了更大灵活性。


空格 示例:这里有一个 空格。
换行 示例:这里有一个
换行。