dedecms中调用文章,标题超过限制字数时,在标题后面加上省略号...
在dedecms中调用文章,当标题超过限制字数时,怎么在标题后面加上……呢。其实不论是在首页还是列表页还是内容页调用文章,不管是arclist还是list标签调用文章,只需要把[field:title]这个标签适当修改。
一般是类似于这样:
{dede:arclist row='10'} <li><a href="[field:arcurl /]" title="[field:fulltitle/]">[field:title/]</a></li> {/dede:arclist}
如果需要限制字数,可以增加titlelen=’80′,代码为:
{dede:arclist row='10' titlelen='80'} <li><a href="[field:arcurl /]" title="[field:fulltitle/]">[field:title/]</a></li> {/dede:arclist}
但是,此时显示的文章标题后面直接被截断,不会有省略号,将其中的[field:title]修改成[field:fulltitle runphp='yes']$titlefull = @me;$titleshow =cn_substr($titlefull,80);if($titlefull!=$titleshow){$dot = “…”;}else{$dot=”";}@me = $titleshow.$dot;[/field:fulltitle]即可,代码为(方法一):
{dede:arclist row='10'} <li><a href="[field:arcurl /]" title="[field:fulltitle/]">[field:fulltitle runphp='yes']$titlefull = @me;$titleshow =cn_substr($titlefull,80);if($titlefull!=$titleshow){$dot = "…";}else{$dot="";}@me = $titleshow.$dot;[/field:fulltitle]</a></li> {/dede:arclist}
方法二:
{dede:arclist row='10'} <li><a href="[field:arcurl /]" title="[field:fulltitle/]">[field:fulltitle function=' ( strlen("@me")>80 ? cn_substr("@me",80)."…" : "@me" )'/] </a></li> {/dede:arclist}
方法二代码要简练直观许多,建议用方法二。