首先,文章标题的长度修改
方法一、首先你要进入dedecms后台,系统——系统基本参数——其他选项——文档标题最大长度——在这修改为200或更大(其实200应该是足够了)。
方法二、进入phpmyadmin,点击dede_archives 进入表——title——点击编辑——输入200 (根据需要调整)
注意:对于使用虚拟主机来说,一般不能直接操作phpmyadmin,所以你只需要执行:系统——SQL命令行工具——输入语句:alter table dede_archives modify title varchar(200)
这样就解决了,同时在调用的时候注意titlelen的数值大小
有网友提问,按照上述方法修改后,仍然无法显示全部
这时问题可能出现:一是模板问题,检查相应模板相应位置上是否使用了titlelen来限制字数,第二,可能是CSS上控制问题,检查对应CSS文件的相应代码,是否在CSS文件上进行了长度或者宽度限制。
解决dedecms UTF-8首页文章标题显示字数太短的办法
原因分析:因为UTF-8编码1个中文汉字占用的是3个字节,GBK占用的是2个字节,所以,原先$titlelen = AttDef($titlelen,30)等于对大取30个字节,所以最多只显示11个汉字。
解决方法:进入dedecms的后台,在“模板管理”中的“标签源码管理",找到arclist.lib.php ,点击“编辑”,找到“$titlelen = AttDef($titlelen,30); ”条语句,把其中的30改为60或者更大的数值即可。当然你也可以在\include\taglib 这个目录中找到arclist.lib.php,然后同样的方法修改好,再传到你的空间。
其次,文章摘要长度修改
在Dedecms系统中,文章摘要(能够经过infolen或description相关标签调用)被设置了字数上限为250字符,设置上限的主要目的是减少数据库的冗余,保证网站良好的性能。因而,假如对简介内容不设置上限显然不合理,但是假如能够自在控制这一上限,那么将对网页内容布局带来积极作用。在网页设计过程中,常常需求在频道列表页面调用到文章摘要,假如能够有效控制文章摘要的字数,那么就能够使得页面规划很灵敏。
在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
在 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}