dedecms列表页面调用自定义字段,首页控制描述字数

dedecms列表页面调用自定义字段简洁方式,

1.首页调用。
{dede:arclist addfields='字段英文名' channelid='模型ID' row='条数' type='栏目ID'}[field:字段英文名/]{dede:arclist} 
 
2.新模型页面调用
{dede:field name='qijia'/} 
 
3. 列表页调用,可分页。(后台新模型列表附加字段 加上该字段)
 {dede:list pagesize='条数' } 
[field:qijia/] 
[field:字段英文名 function='cn_substr(@me,270)'/]...   摘要
{/dede:list}
 
其中最重要的两点:
首页调用必须写明 channelid='模型ID'。
列表页调用,须在后台列表附加字段里加上需要调用的自定义字段,否则不显示。

4.dedecms内容页面调用自定义字段
 {dede:field name='字段名'/}



一、通过infolen来限制调用的文章描述字数,如一下标签演示:
{dede:arclist row=”1″ infolen=’170′}<br>
[field:info/]…
{/dede:arclist}
以上infolen=’170’表示调用170字节的文章描述

二、用 [field:description function=’cn_substr(@me,250)’/] 代替 [field:info/] 标签  其中250是字节限制,你想调用多少字就把这个改下,注意这里的250是字节,一个字等于2个字节,也就是这里是调用125个字

在Dedecms中,在列表页调用文章摘要的方法主要有:

1:[field:info /]

2:[field:description /]

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

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

第 1、2种方法是直接调用文章摘要,在调用的字数问题上,当使用[field:info /]时,可以在{dede:arclist infolen=' ' }{/dede:arclist}中,设置调用摘要的字符数(最高可设置为系统设置的250);如果使用[field:description /],则直接使用后台设置的摘要字符上限。显然,这两种方式都很被动,灵活性太差。

第3、4种方法通过function函数实现了对文章摘要显示字符的灵活调整。当然,在没有修改文章摘要内容字符上限时,这4个方法的差异并不大。但是,下面我们来说如何修改这一上限值,就可以体现出 [field:description function="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  
//phpfensi.com 

在 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”,这里不推荐设置得过高,一个是在列表页没必要展示太多内容,展示太多内容不如直接用body了,另一个是避免数据库产生冗余.

 

完成上面的修改还不够,还需要修改article_description_main.php

在 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字符的系统限制,为网页布局提供了更加广阔的空间.