原文来自:https://www.zixuephp.com
在dedecms中我们要修改文章标题长度最常用的直接在调用模式标签中加入一句 titlelen=40 就可以搞了,还有很多办法,下面简单介绍.
方法一,在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;一起使用。*/phpfensi.com
- }
三、修改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 )