dede如何调用文章标题?

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

下面我将从最简单、最常用高级、灵活的顺序,为你详细介绍如何调用文章标题。

dede 如何调用文章标题
(图片来源网络,侵删)

最常用和最简单的方法:在文章内容页(文章详情页)调用

当你已经打开一篇文章的详情页时,调用这篇文章的标题是最简单的,通常用在文章页的 <title> 标签、文章顶部或页脚等位置。

<title> 标签中调用

这是SEO优化中最重要的部分,让每个文章页的标题都独一无二。

  • {dede:field.title/}:这是DedeCMS的底层模板标签,用于获取当前文章的标题。
  • _网站名称:这是自定义的后缀,用于增加品牌识别度,你可以替换成你自己的网站名。

在文章页面内容中调用

直接在文章模板(article_article.htm)的任何地方,使用同样的标签即可。

示例:在文章顶部显示标题

dede 如何调用文章标题
(图片来源网络,侵删)
<div class="article-title">
    <h1>{dede:field.title/}</h1>
</div>

在文章页面包屑导航中调用

面包屑导航通常需要显示 "首页 > 栏目 > 文章标题" 这样的层级结构。

{dede:field name='position'/}

这个标签会自动生成类似这样的链接: <a href='https://www.yoursite.com/'>主页</a> > <a href='https://www.yoursite.com/cate/'>栏目名称</a> > <a href='https://www.yoursite.com/a/1.html'>文章标题</a>

如果你想获取不带链接的纯文本标题,可以结合 str_replace 函数:

<?php
$position = str_replace('<a href=\''.GetArchivePath($aid).'\'>', '', trim(@me));
$position = preg_replace('/<a.*>(.*)<\/a>/i', '\\1', $position);
echo $position;
?>

但通常直接使用 {dede:field.name='position'/} 即可满足需求。

dede 如何调用文章标题
(图片来源网络,侵删)

在列表页(首页、栏目页)调用文章标题

在列表页,你需要循环调用该栏目下所有文章的标题,这通常需要用到 {dede:list}{dede:arclist}

使用 {dede:list} 标签(最常用)

{dede:list} 通常用于当前栏目下的文章列表。

示例:在栏目页显示文章列表

<ul>
    {dede:list pagesize='10'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span class="date">[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
    </li>
    {/dede:list}
</ul>
  • {dede:list}:开始一个列表循环。
  • pagesize='10':表示每页显示10篇文章。
  • [field:title/]:在 {dede:list} 循环内部,使用这个标签来获取当前循环文章
  • [field:arcurl/]:获取当前循环文章的链接地址。
  • [/dede:list]:结束循环。

使用 {dede:arclist} 标签(更灵活)

{dede:arclist} 是一个功能非常强大的标签,可以在任何地方调用任意栏目的文章,并且可以进行非常复杂的条件筛选。

示例:在首页调用指定栏目的最新文章标题

<h2>最新文章</h2>
<ul>
    {dede:arclist typeid='1' titlelen='30' row='5'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
    {/dede:arclist}
</ul>
  • typeid='1':只调用栏目ID为1的栏目下的文章,如果为空或不写,则调用所有栏目的文章,len='30'`:标题长度限制,这里只显示标题前30个字符,超出部分用省略号表示。
  • row='5':调用5篇文章。
  • [field:title/]:同样,在 {dede:arclist} 内部使用此标签获取标题。

高级用法:自定义标题格式

你可能需要对标题做一些特殊处理,比如加上“新”、“热”等标识。

结合PHP函数处理标题

你可以使用 function 属性来调用PHP函数处理标题。

示例:限制标题长度并添加省略号

{dede:field.title function='cn_substr(@me, 20)'/}

这行代码会截取标题的前20个中文字符。

示例:如果标题包含特定文字,则添加标签

这是一个更复杂的例子,需要在 article_article.htm 模板文件中直接使用PHP代码。

<?php$title = $this->Fields['title'];
是否包含“优惠”
if (strpos($title, '优惠') !== false) {
    echo '<span class="hot-tag">优惠</span>';
}
echo $this->Fields['title'];
?>

如果你的文章模型中有“副标题”字段,调用方法如下:

<h1>{dede:field.title/}</h1>
<p class="subtitle">{dede:field.subtitle/}</p>

注意:首先需要在后台的“模型管理”中为文章模型添加一个名为 subtitle 的字段。


总结与对比

场景 推荐标签 说明
文章详情页 {dede:field.title/} 获取当前文章,最简单直接。
栏目/列表页 {dede:list} 循环显示当前栏目下的文章标题。
任意位置(如首页) {dede:arclist} 灵活调用任意指定栏目,功能最强大。
需要处理标题 function='cn_substr()' 在标签内使用PHP函数对标题进行截取等操作。

希望这份详细的指南能帮助你完全掌握在DedeCMS中调用文章标题的各种方法!

-- 展开阅读全文 --
头像
C语言16进制如何转ASCII?
« 上一篇 02-14
int a[3][3]如何正确声明与使用?
下一篇 » 02-14
取消
微信二维码
支付宝二维码