文章摘要字数的设置方法 dede:[field:info /][field:description/]

来源:互联网 发布:软件著作权 商标 编辑:程序博客网 时间:2024/05/18 09:39

在 Dedecms系统中,文章摘要(可以通过infolen或description相关标签调用)被设置了字数上限为250字符,设置上限的主要目的是减 少数据库的冗余,保证网站良好的性能。因此,如果对简介内容不设置上限显然不合理,但是如果可以自由控制这一上限,那么将对网页内容布局带来积极作用。在 网页设计过程中,往往需要在频道列表页面调用到文章摘要,如果可以有效控制文章摘要的字数,那么就可以使得页面布局很灵活。
在Dedecms中,在列表页调用文章摘要的方法主要有:
1:[field:info/]
2:[field:description/]
3:[field:infofunction="cn_substr(@me,字符数)"/]
4:[field:descriptionfunction="cn_substr(@me,字符数)"/]
第 1、2种方法是直接调用文章摘要,在调用的字数问题上,当使用[field:info/]时,可以在 {dede:arclistinfolen=''}{/dede:arclist}中,设置调用摘要的字符数(最高可设置为系统设置的250);如 果使用[field:description/],则直接使用后台设置的摘要字符上限。显然,这两种方式都很被动,灵活性太差。
第 3、4种方法通过function函数实现了对文章摘要显示字符的灵活调整。当然,在没有修改文章摘要内容字符上限时,这4个方法的差异并不大。但是,下 面我们来说如何修改这一上限值,就可以体现出[field:descriptionfunction="cn_substr(@me,字符数)"/]这 一方式的重要性。
在Dedecms中,与文章摘要相关的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:descriptionfunction="cn_substr(@me,字符数)"/]这一功能。因为这一语句确实有利于页面布 局,因此我们在实验中没有修改。
在 edit页面,有一句话是:“$description=cn_substrR($description,250);”,这句话中出现了一个熟悉 的字符数“250”,这就是系统设置的文章摘要字符数的上限值。如果是gbk编码则显示出来的就是125个字。如果是utf-8编码则是81个字。显 然,我们要突破文章摘要字符数上限,肯定得拿它开刀了。是的,这里修改“250”为其他值即可,例如“500”。这里不推荐设置得过高,一个是在列表页没 必要展示太多内容(展示太多内容不如直接用body了),另一个是避免数据库产生冗余。
完成上面的修改还不够,还需要修改article_description_main.php
在 article_description_main.php页面,找到“if($dsize>250)$dsize=250;”语句,这里限 制了在后台自动获取摘要的字符数。把这里的“250”修改为“500”即可,也就是和之前修改的字符数一致即可。(如果你确认你的每一条文章都是手动添 加,手动完成摘要获取就不需要修改这个文件了。自动摘要获取主要还是给大量文章和采集准备的。)
最后,登录后台,在系统-系统基本参数-其它选项中,自动摘要长度,改成500即可,也就是和之前修改的字符数一致即可。
完成上述修改后,我们再到频道列表页,通过标签调用即可,示例标签如下:
{dede:listtypeid=''row='5'titlelen='100'orderby='new'pagesize='5'}
<h3><ahref='[field:arcurl/]'>[field:title/]</a></h3>
<p>[field:descriptionfunction='cn_substr(@me,500)'/]...</p>
{/dede:list}
通过以上方式,我们就实现了调用的文章摘要字符为500字符,完全突破了文章摘要250字符的系统限制,为网页布局提供了更加广阔的空间。

0 0
原创粉丝点击