当前位置:主页 > 站长资讯 > dedecms 修改标题和简略标题长度的方法浅析
201507/12

dedecms 修改标题和简略标题长度的方法浅析

 

作者:admin321 文章分类:站长资讯 发布时间:2015-07-12 Comments 围观:
 一、修改标题

1、进入dedecms后台,系统——系统基本参数——其他选项——文档标题最大长度——在这修改为200或更大

2、登陆数据库,改数据库表dede_archives表里面的title字段,原默认是60,(这里改为200).

    ALTER TABLE `dede_archives` CHANGE `title` `title` VARCHAR( 200 )    解决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中的“简略标题”,在默认情况下,简略标题长度为36个字符,即18个汉字。做为文章副标题,有可能不够用。这时,我们就需要再次手工修改DEDE的核心文件了:

解决办法:

1、修改数据库字段设置

用phpmyadmin登录数据库,找到dede_archives表,再找到shorttitle字段,将值由36修改为200。

PS:36为36个字符,相当于18个汉字长度,这里改为200,也就是100个汉字。

2、修改核心文件

找到DEDE的管理后台目录(默认目录为/dede/),找到以下几个文件:

archives_add.php

archives_do.php

archives_edit.php

article_add.php

article_edit.php

可以通过网页编辑软件或者记事本批量替换里面的源代码。

$shorttitle = cn_substrR($shorttitle,36);

把36改成你需要的长度就可以了。如修改为200。完成以上两步后,修改就成功了

方法二,在artlist标签中直接加入 titlelen=要显示的长度即可


方法三、利用css控制显示自动隐藏超出部份

一般的文字截断(适用于内联与块):

代码如下:

.text-overflow {display:block;/*内联对象需加*/
width:31em;word-break:keep-all;/* 不换行 */
white-space:nowrap;/* 不换行 */
overflow:hidden;
/* 内容超出宽度时隐藏超出部分的内容 */
text-overflow:ellipsis;
/* 当对象内文本溢出时显示省略标记(...) ;需与overflow:hidden;一起使用。
*/}

表格文字溢出的定义:

复制代码
代码如下:

table{
width:30em;
table-layout:fixed;/* 只有定义了表格的布局算法为fixed,下面td的定义才能起作用。 */
}
td{
width:100%;
word-break:keep-all;/* 不换行 */
white-space:nowrap;/* 不换行 */
overflow:hidden;/* 内容超出宽度时隐藏超出部分的内容 */
text-overflow:ellipsis;/* 当对象内文本溢出时显示省略标记(...) ;需与overflow:hidden;一起使用。*/
}
 

方法四、修改dedecms程序

进入dedecms的后台,在“模板管理”中的“标签源码管理”,找到arclist.lib.php ,点击“编辑”,找到

“$titlelen = AttDef($titlelen,30); ”条语句,把其中的30改为60或者更大的数值即可。当然你也可以在

includetaglib 这个目录中找到arclist.lib.php,然后同样的方法修改好,再传到你的空间。

修改完数据库后,发布文章标题长度应该没问题了,但是如果更改文章后标题又变成80字节了,这是因为dedeactionarticle_eidt_action.php对标题进行了限制


打开dedeactionarticle_eidt_action.php 找到44行 $title = cn_substr($title,80); 删除此行代码, 或者修改为
 

代码如下:
$title = cn_substr($title,200);

还需要在phpmyadmin里执行下面的代码
 

代码如下:

ALTER TABLE `dede_archives` CHANGE `title` `title` VARCHAR( 200 )

 

云天博客


 



转载请注明出处云天博客-dedecms 修改标题和简略标题长度的方法浅析 :


文章作者:admin321
本文地址:
版权所有 © 未注明“转载”的博文一律为原创,转载时必须以链接形式注明作者和原始出处!
如果你觉得文章不错,您可以推荐给你的朋友哦!