在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字符限制,为网页布局提供了更大灵活性。
空格 示例:这里有一个 空格。
换行 示例:这里有一个
换行。