页简介如何正确调用?

99ANYc3cd6
预计阅读时长 11 分钟
位置: 首页 DEDE建站 正文

调用文章自动摘要(最简单、最常用)

这是最基础也是最常用的方法,DedeCMS 在发布文章时,文章内容”编辑框下方有“自动生成摘要”的勾选,系统就会自动从文章内容开头截取一段文字作为简介。

dede内容页简介调用
(图片来源网络,侵删)

适用场景:不需要手动填写简介,希望直接从文章内容中提取。

调用代码: 页模板(通常是 article_article.htm)中,使用 {dede:field.description/} 标签即可。

<div class="intro">
    <h3>文章简介</h3>
    {dede:field.description function='htmlspecialchars(@me)'/}
</div>

代码解析

  • {dede:field.description/}:这是调用文章简介字段的核心标签。
  • function='htmlspecialchars(@me)':这是一个非常重要的函数,它会把简介中的 HTML 特殊字符(如 <, >, &, )转换成 HTML 实体,这可以有效防止 XSS(跨站脚本)攻击,并确保简介在页面上正确显示,而不是被浏览器解析成 HTML 代码。强烈建议加上此函数。

手动填写简介(推荐,更灵活)

为了获得更好的 SEO 效果和内容控制,最佳实践是手动填写简介,在发布或编辑文章时,在后台的“高级选项”或“文档选项”里,可以手动填写“内容简介”。

dede内容页简介调用
(图片来源网络,侵删)

适用场景:希望为每篇文章撰写一个独立、精炼、适合 SEO 的简介。

调用代码

与方法一完全相同,因为 {dede:field.description/} 标签优先读取手动填写的简介,如果没有手动填写,则会读取自动生成的摘要。

<div class="intro">
    <h3>文章简介</h3>
    {dede:field.description function='htmlspecialchars(@me)'/}
</div>

优点

dede内容页简介调用
(图片来源网络,侵删)
  • SEO 友好:可以专门为搜索引擎优化简介内容。
  • 内容可控:避免自动截取可能出现的语句不通或内容不当的问题。
  • 格式自由:简介可以是一个完整的段落,而不是截取的半句话。

调用文章内容的前 N 个字符(按需截取)

如果你不使用 DedeCMS 的自动摘要功能,或者想简介的长度完全由模板控制,可以直接从文章内容中截取指定长度的字符。

适用场景:需要简介长度完全统一,或者不希望依赖后台的自动摘要功能。

调用代码

使用 {dede:field.body/} 标签配合 function 属性来实现。

<div class="intro">
    <h3>文章简介</h3>
    {dede:field.body function='cn_substr(@me, 200)'/}
</div>

代码解析

  • {dede:field.body/}:调用文章的完整内容。
  • function='cn_substr(@me, 200)':这是一个强大的 PHP 函数调用。
    • cn_substr 是 DedeCMS 自定义的函数,专门用于处理中文字符串,确保不会出现乱码。
    • @me:代表当前标签的原始值,在这里就是 {dede:field.body/} 的内容,即文章全文。
    • 200:表示截取前 200 个字符,你可以根据需要修改这个数字。

调用文章内容并去除 HTML 标签(更纯净的简介)

方法三虽然能截取字符,但如果文章开头有图片、<p> 标签等 HTML 代码,也会被截取进去,导致简介不纯净,我们可以通过组合函数来解决这个问题。

适用场景:希望简介是纯文本,没有任何 HTML 标签,长度可控。

调用代码

使用 htmlspecialcharsstrip_tagscn_substr 三个函数组合。

<div class="intro">
    <h3>文章简介</h3>
    {dede:field.body function='htmlspecialchars(cn_substr(strip_tags(@me), 200))'/}
</div>

代码解析

  1. strip_tags(@me):首先执行 strip_tags 函数,它会移除 @me)中的所有 HTML 和 PHP 标签,只留下纯文本。
  2. cn_substr(..., 200):然后对处理后的纯文本执行 cn_substr 函数,截取前 200 个字符。
  3. htmlspecialchars(...):对最终得到的纯文本简介执行 htmlspecialchars 函数,进行转义,确保安全显示。

执行顺序:从右到左,即先 strip_tags,再 cn_substrhtmlspecialchars


总结与推荐

方法 核心代码 优点 缺点 推荐度
方法一 {dede:field.description/} 简单,依赖系统功能 自动摘要可能不理想,内容不可控 ★★★☆☆
方法二 {dede:field.description/} SEO友好,内容可控,灵活 需要手动填写 ★★★★★
方法三 {dede:field.body function='cn_substr(...)'} 长度完全由模板控制 可能包含HTML标签,简介不纯净 ★★★☆☆
方法四 {dede:field.body function='...strip_tags...'} 纯净的纯文本,长度可控 代码稍复杂,完全依赖模板截断 ★★★★☆

最终建议

  1. 最佳实践强烈推荐使用方法二(手动填写简介),这是对 SEO 和用户体验最有利的方式,在后台写好简介,前台模板使用 {dede:field.description function='htmlspecialchars(@me)'/} 调用。

  2. 备选方案:如果因为某些原因无法手动填写简介,或者需要一个长度完全统一的简介,推荐使用方法四,它能生成最干净的、不含任何 HTML 标签的简介。

希望这些方法能帮到你!

-- 展开阅读全文 --
头像
dede5.7后台空白,何解?
« 上一篇 03-08
织梦如何调用会员登录状态?
下一篇 » 03-08

相关文章

取消
微信二维码
支付宝二维码

目录[+]