dedecms标题过长,截断标题加省略号的三种实现方法

      dedecms标题过长,全部显示会使排版混乱,影响美观。我们希望当标题在一定长度范围内时,全标题显示,当标题过时,只显示一定长度,后面加省略号,然后当鼠标移上去时再显示标题的全部内容,这样就即做到了不影响版面的布局,又做到了标题内容的全部显示。

如果有一个50个字节的标题,想截取到30个字节 ,模板代码如下:    

     

方法一:

  [field:title   function=' ( strlen("@me")>30 ? cn_substr("@me",30)."…" : "@me" ) ' /] 代替了原来的 [field:title /] ,在输出标题时多了一个判断的过程,先判断标题是否大于30字节,如果大于则只输出30字节的长度,并加上省略号。而title="[field:title /]" 则不受影响,鼠标移上去时显示标题的全部内容。

方法二:CSS的方法如下:

即将发布" href=" " >DedeCMS2007即将发布

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

方法三:php方法:

 

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

2、找到228

   $row['title'] = cn_substr($row['title'],$titlelen);
   在前面增加一行

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


3、找到$row['textlink'] = "".$row['title']."";
将其替换为:

$row['textlink'] = "".$row['title']."";

 

你可能感兴趣的:(dedecms标题过长,截断标题加省略号的三种实现方法)