dedecms限制标题长度

题长截取加省略号,有三种方法可以采取:

第一种修改css样式:

<a style=”width:120px; text-overflow:ellipsis; white-space:nowrap; overflow:hidden;” href=”xxxxx”>网页文章很长很长很长很长的标题</a>

解释:width:120px; 限定长度,text-overflow:ellipsis :当对象内文本溢出时显示省略标记…,white-space:nowrap:强制文本在一行内显示,overflow:hidden:溢出内容为隐藏。

修改CSS的方法简单,不过很遗憾,text-overflow:ellipsis属性在firefox中是没有效果的。  

第二种方式:

建站仿站过程中也许很多人会遇到这样的情况,列表标题文字太长了,想截取文字长度,同时在标题后面加省略号...,提示性的符号,这样比较友好,今天就和大家说下dedecms标题长截取加省略号,修改l的方法:

1
2
3
4
5
< ul >
{dede:arclist titlelen='50' row='10'}
     < li >< a  title = "[field:title /]"  href = "[field:filename /]" >[field:title function=' ( strlen("@me")>30 ? cn_substr("@me",30)."..." : "@me" ) ' /]</ a ></ li >
{/dede:arclist}
</ ul >

注意titlelen表示标题的实际长度,并不是截取长度!!!

个人比较喜欢这个方法,只需要修改模版,对系统影响很小

第三种方式:

三.改dedecms程序方法

增加一个fulltitle标签,让你的title=""显示完整标题

具体修改如下:

1、打开include目录下inc目录下的inc_fun_SpGetArcList.php文件

2、找到228行

$row['title'] = cn_substr($row['title'],$titlelen); 

在前面增加一行

$row['fulltitle'] = $row['title']; //注释:显示完整标题

3、找到

Copy code

$row['textlink'] = "<a href='".$row['filename']."'>".$row['title']."</a>";

将其替换为:

$row['textlink'] = "<a href='".$row['filename']."' title='".$row['fulltitle']."'>".$row['title']."</a>";

[c-sharp] view plain copy

个人不喜欢,以为要修改后台程序,比较高级,但是个人对于一个简单的显示问题动后台逻辑有点小题大作,不过可以通过这个来怎加我们对于dede的字符串处理更加深刻的理解。


猜你喜欢

转载自blog.csdn.net/Miss_grapefruit/article/details/80569142