在給用戶做模板的時候,有的用戶發現某些文章的標題太長的時候會影響網頁的美觀,因此要求織夢模板網技術要對這部分的標題進行處理修剪,限制它只顯示多少個文字,多出來的部分用省略號代替。用戶有要求我們就要像辦法來實現。
那么如何和在DEDECMS實現這個效果呢?下面列出3種方法給大家參考:
<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中是沒有效果的。
用
[field:title function=’( strlen(”@me”)>30 ? cn_substr(”@me”,30).”…” : “@me” ) ‘ /]
代替了原來的
[field:title /]
在輸出標題時多了一個判斷的過程,先判斷標題是否大于30字節,如果大于則只輸出30字節的長度,并加上省略號。
而title=” [field:title /]” 則不受影響,鼠標移上去時顯示標題的全部內容。這個方法織夢模板網小編個人比較喜歡,只需要修改模版,對系統影響很小。
增加一個fulltitle標簽,讓你的title=""顯示完整標題
具體修改如下:
1、打開include目錄下inc目錄下的inc_fun_SpGetArcList.php文件
2、找到228行
$row['title'] = cn_substr($row['title'],$titlelen);
在前面增加一行
$row['fulltitle'] = $row['title']; //注釋:顯示完整標題
3、找到
$row['textlink'] = "<a href='".$row['filename']."'>".$row['title']."</a>";
將其替換為:
$row['textlink'] = "<a href='".$row['filename']."' title='".$row['fulltitle']."'>".$row['title']."</a>";
第三種方法是需要對網站代碼有一定了解和熟悉的用戶可以選擇,相對來說 比較高級,但是織夢模板小編不是特別推薦,因為畢竟對織夢的原生系統做了小手術,對于后期的升級會有一定的影響。但是不管哪種方式選擇適合自己的就可以。
以上就是限制織夢dedecms標題長度讓超出部分加省略號顯示的全部內容,希望對大家的學習和解決疑問有所幫助,也希望大家多多支持武林網。新聞熱點
疑難解答