DedeCMS自动截取标题长度的两种方法

为了网站的美观,我们又是需要将标题长度限制在某个长度范围之内,对长度超出限定范围的字用省略号代替,这是一个相当不错的想法,具体做法有两种。

比如调用的字段为test

方法一:运行php法..

[field:test runphp=yes]

@me=substr(@me,截取字节)

[/field:test]

方法二:调用内置函数法

[field:test function='cn_substr(@me,截取字节)'/]

两种方法其实差不多的.

第二种方法更适合中文的截取.是dedecms封装好的内置函数

效果比第一个要好的多..

一、用CSS控制,这种方法对任何语言架构的系统都适用,因为这个和程序语言无关,而且这样的做法对搜索引擎来说也是非常友好的,所以强烈推荐使用这种方法,具体做法如下:

这里是控制标题的CSS代码:

.li {list-style:none; width:260px; //这个就是用来控制显示的标题长度 white-space:nowrap; text-overflow:ellipsis; -o-text-overflow:ellipsis; overflow: hidden; }

例如在DedeCMS里这样调用标题既可实现:

{dede:arclist row=8 titlelen=126 orderby=pubdate typeid=8} <li><a href="[field:filename /]" title="[field:title function=html2text(@me)/]" >[field:title/]</a></li>{/dede:arclist}

二、用PHP程序代码实现标题长度的截取,这种方法对搜索引擎不是很友好,,酌情使用,代码如下:

{dede:arclist row=6 typeid=2 titlelen=50}<li><span class="box_r">[field:pubdate function="MyDate('m-d',@me)"/]</span>[[field:typelink/]]<a href="[field:arcurl/]">[field:title function='(strlen("@me")>50 ? cn_substr("@me",50)."…":"@me")'/]</a></li>{/dede:arclist}

你并不一定会从此拥有更美好的人生,

DedeCMS自动截取标题长度的两种方法

相关文章:

你感兴趣的文章:

标签云: