织梦如何调用文章缩略标题?

99ANYc3cd6
预计阅读时长 13 分钟
位置: 首页 织梦建站 正文

使用文章摘要(description字段)【最推荐】

这是最标准、最规范且最灵活的方法,织梦的每个文章模型都自带一个“字段(description),我们完全可以把它当作“缩略标题”来使用。

优点:

  • 无需修改程序:织梦原生支持,非常安全。
  • 内容独立和标题内容完全分开,可以自由编辑,不受标题限制。
  • SEO友好description字段本身就是用于SEO描述的,一箭双雕。

操作步骤:

  1. 发布文章时填写摘要 在后台发布或编辑文章时,在编辑器下方找到 这个输入框,填入你想要显示的精简标题。

  2. 在前台模板中调用 在你的模板文件(如 index.htm, list_article.htm 等)中,使用织梦的标签来调用这个字段。

    • 调用文章摘要的标签:

      {dede:field.description function='htmlspecialchars(@me)'/}
      • function='htmlspecialchars(@me)' 是一个安全函数,可以防止XSS跨站脚本攻击,强烈建议加上。
    • 完整示例(在列表页中调用): 假设你有一个文章列表循环,想在标题位置显示摘要,可以这样写:

      {dede:list pagesize='10'}
      <li>
          <!-- 优先显示摘要,如果摘要为空,则显示完整标题 -->
          <a href="[field:arcurl/]">
              [field:description function='htmlspecialchars(@me)'/]
              {dede:if empty="[field:description/]"}<br/>{/dede:if}
              [field:title/]
          </a>
      </li>
      {/dede:list}

      这段代码的意思是:先显示 description 字段的内容。description 为空(empty="[field:description/]"),则换行后显示完整的 title


使用自定义字段【功能最强大】

如果你需要对不同的栏目或文章类型使用不同的缩略标题规则,或者想做更复杂的处理,那么添加一个自定义字段是最佳选择。

优点:

  • 功能强大:可以结合“字段处理函数”实现非常灵活的标题裁剪。
  • 不影响SEO:可以自定义字段名,避免与系统内置字段混淆。

操作步骤:

  1. 添加自定义字段

    • 进入后台【核心】 -> 【内容模型管理】,选择你当前使用的文章模型(通常是“文章”),点击【管理字段】。
    • 点击【添加新字段】。
    • 字段名称:输入 shorttitle (或你喜欢的名字,必须为英文)。
    • 字段提示:输入“缩略标题” (这个会在后台显示)。
    • 字段类型:选择“单行文本”。
    • 是否为空:选择“是”(允许不填写)。
    • 默认值:(可选)留空。
    • 保存
  2. 在后台填写缩略标题 发布或编辑文章时,在编辑器下方会出现你刚刚添加的“缩略标题”输入框,填入内容。

  3. 在前台模板中调用 使用织梦的 field 标签来调用你的自定义字段。

    {dede:field.shorttitle /}

    同样,为了健壮性,可以结合 if 标签判断:

    {dede:list pagesize='10'}
    <li>
        <a href="[field:arcurl/]">
            {dede:if field.shorttitle != ''}
                [field:shorttitle /]
            {else}
                [field:title /]
            {/dede:if}
        </a>
    </li>
    {/dede:list}

使用PHP函数自动截取标题【最便捷(但不推荐)】

这种方法不需要在后台做任何额外操作,而是通过PHP代码在前台模板里自动截取完整标题的一部分作为缩略标题。

优点:

  • 后台操作简单:发布文章时无需额外填写。
  • 自动更新修改后,缩略标题自动随之改变。

缺点:

  • 不灵活:截断长度是固定的,无法针对特定文章做特殊处理。
  • 可能截断乱码包含中英文混合,使用 cn_substr 处理不当可能会出现乱码。
  • :如果摘要为空,直接显示截断后的标题,对SEO不友好(因为页面上的标题和 <title> 标签里的标题不一致)。

操作步骤:

在模板文件中,使用织梦内置的字符串截断函数 cn_substr

  • 标签语法:

    {dede:field.title function='cn_substr(@me, 20)'/}
    • @me:代表原始的 title 字段内容。
    • 20:代表截取的字符长度(一个汉字、一个字母或一个符号都算一个字符)。
  • 完整示例(带判断):

    {dede:list pagesize='10'}
    <li>
        <a href="[field:arcurl/]">
            {dede:field.description runphp='yes'}
                if(@me=='') @me = cn_substr(@me, 20); // 如果摘要为空,则截取标题
            {/dede:field.description}
        </a>
    </li>
    {/dede:list}

    注意:上面的 runphp 写法有逻辑错误,正确的写法应该是:

    {dede:list pagesize='10'}
    <li>
        <a href="[field:arcurl/]">
            {dede:if empty='[field:description/]'}
                [field:title function='cn_substr(@me, 20)'/]
            {else}
                [field:description function='htmlspecialchars(@me)'/]
            {/dede:if}
        </a>
    </li>
    {/dede:list}

总结与建议

方法 优点 缺点 推荐度
文章摘要 规范、安全、灵活、SEO友好 需要手动在后台填写摘要 ★★★★★ (最推荐)
自定义字段 功能强大,可扩展性好 需要手动添加字段,步骤稍多 ★★★★☆ (功能需求复杂时推荐)
自动截取 后台操作简单,自动更新 不灵活、可能乱码、影响SEO ★☆☆☆☆ (不推荐,仅作临时备用)

最终建议:

对于绝大多数网站,强烈推荐使用方法一(,它完美地平衡了易用性、灵活性和规范性,是织梦CMS的最佳实践。

只有在你的网站有非常特殊的需求,比如需要对不同栏目设置不同的截取长度和规则时,才考虑使用方法二(自定义字段),尽量避免使用方法三(自动截取),因为它带来的问题往往比解决的问题多。

-- 展开阅读全文 --
头像
File操作C语言实例有哪些?
« 上一篇 今天
织梦后台模板怎么换?
下一篇 » 22分钟前

相关文章

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

目录[+]