len` 是织梦系统中一个非常核心且常用的参数,主要用于控制标题的显示长度,它的字面意思是 "title length"(标题长度)。

核心作用
len` 的主要作用是在标题长度超过指定字符数时,进行自动截断,并用省略号(或其他自定义字符)代替,以保证页面布局的美观和整洁,避免标题过长撑破版面。
主要应用场景
len` 参数主要在织梦的模板文件(.htm)中使用,通过系统内置的标签来调用,最常见的应用场景包括:
-
首页/列表页标题截断: 在首页、栏目列表页等展示文章列表的地方,文章标题可能长短不一,使用
titlelen可以让所有标题显示为统一的长度,视觉效果更佳。 -
相关文章/推荐文章标题截断: 在文章内容页下方,通常会显示“相关文章”或“推荐文章”,这里的标题也需要根据空间大小进行截断。
(图片来源网络,侵删) -
频道页/封面页标题截断: 在自定义的频道页面或封面页面,如果调用了子栏目标题或文章标题,同样可以使用
titlelen来控制。
如何使用
len` 通常作为织梦标签的一个属性来使用,基本语法格式如下:
{dede:标签名 titlelen='数字'}
<a href="[field:arcurl/]">[field:title/]</a>
{/dede:标签名}
标签名:指你要使用的织梦标签,如arclist(文章列表),likearticle(相关文章),coolnews(推荐) 等。'数字':你希望标题显示的最大字符数。一个汉字算一个字符,一个英文字母或标点符号也算一个字符。
常见标签中的 titlelen 用法
在 {dede:arclist} 标签中使用(最常用)
{dede:arclist} 是用于获取文章列表的核心标签,titlelen 在这里的使用频率最高。
示例代码:

{dede:arclist titlelen='20' row='10'}
<li>
<span class="title">[field:title/]</span>
<span class="date">[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
</li>
{/dede:arclist}
代码解释:len='20'表示每篇文章的标题最多显示20个字符,如果标题超过20个字符,织梦会自动截断,并在末尾添加...`。
row='10':表示调用10篇文章。
实际效果:
- 是 “织梦CMS建站教程从入门到精通”,超过20个字符,显示为 “织梦CMS建站教程从入...”。
- 是 “网站首页优化技巧”,不足20个字符,则完整显示。
在 {dede:likearticle} 标签中使用
页调用相关文章,同样需要控制标题长度。
示例代码:
<div class="related-posts">
<h3>相关文章</h3>
<ul>
{dede:likearticle titlelen='25' row='5'}
<li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>
{/dede:likearticle}
</ul>
</div>
代码解释:len='25'`:相关文章的标题最多显示25个字符。
在 {dede:coolnews} 标签中使用
用于调用推荐文章,用法与 arclist 类似。
示例代码:
{dede:coolnews titlelen='18' row='6'}
<a href="[field:arcurl/]" target="_blank">[field:title/]</a>
{/dede:coolnews}
高级用法与注意事项
自定义截断后缀
默认情况下,titlelen 截断后会显示 ,如果你希望自定义这个后缀,可以使用 function 属性结合PHP的 substr 函数来实现。
示例代码:
{dede:arclist titlelen='20' row='10'}
<a href="[field:arcurl/]">[field:title function='(strlen("@me")>20 ? substr("@me",0,20)."..." : "@me")'/]</a>
{/dede:arclist}
代码解释:
function='...':这是一个PHP函数片段。strlen("@me")>20@me的长度是否大于20。substr("@me",0,20)."...":如果大于20,则从0开始截取20个字符,并手动在后面添加 。"@me":如果小于等于20,则显示完整标题@me。
titlelen 与 infolen 的区别
很多新手会混淆 titlelen 和 infolen,它们都是控制长度的参数,但作用对象不同:
titlelen:控制的是 的显示长度。infolen:控制的是 描述) 的显示长度,通常对应数据库中的description字段或文章正文的前N个字符。
示例对比:
{dede:arclist titlelen='20' infolen='80' row='5'}
<h3><a href="[field:arcurl/]">[field:title/]</a></h3>
<p class="summary">[field:description function='html2text(@me)'/]...</p>
{/dede:arclist}
```len='20'`:标题最多20个字符。
* `infolen='80'`:摘要最多80个字符(注意:`infolen` 通常需要配合 `function='html2text(@me)'` 来过滤HTML标签,否则可能会计算错误)。
#### 3. SEO 考量
在首页或列表页使用 `titlelen` 时,需要注意:
* **标题不宜过短**:`titlelen` 设置得太小(如10个字符),会严重破坏标题的完整性,不利于搜索引擎理解文章内容,影响SEO。
* **保持可读性**:截断后的标题应该仍然能表达文章的核心主题,通常建议设置在 **20-40个字符** 之间,这是一个比较合理的范围,既能保证美观,又能保留足够的关键词信息。
###
len` 是织梦CMS模板开发中一个简单但极其重要的参数,它的主要功能是**限制标题显示长度,防止页面布局错乱**,通过在 `{dede:arclist}`、`{dede:likearticle}` 等标签中设置 `titlelen` 的值,可以轻松实现标题的智能截断,在实际应用中,需要根据网站的设计和SEO需求,合理设置其数值,以达到美观与实用的平衡。
