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

最常用和最简单的方法:在文章内容页(文章详情页)调用
当你已经打开一篇文章的详情页时,调用这篇文章的标题是最简单的,通常用在文章页的 <title> 标签、文章顶部或页脚等位置。
在 <title> 标签中调用
这是SEO优化中最重要的部分,让每个文章页的标题都独一无二。
{dede:field.title/}:这是DedeCMS的底层模板标签,用于获取当前文章的标题。_网站名称:这是自定义的后缀,用于增加品牌识别度,你可以替换成你自己的网站名。
在文章页面内容中调用
直接在文章模板(article_article.htm)的任何地方,使用同样的标签即可。
示例:在文章顶部显示标题

<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'/} 即可满足需求。

在列表页(首页、栏目页)调用文章标题
在列表页,你需要循环调用该栏目下所有文章的标题,这通常需要用到 示例:在栏目页显示文章列表 示例:在首页调用指定栏目的最新文章标题 你可能需要对标题做一些特殊处理,比如加上“新”、“热”等标识。 你可以使用 示例:限制标题长度并添加省略号 这行代码会截取标题的前20个中文字符。 示例:如果标题包含特定文字,则添加标签 这是一个更复杂的例子,需要在 如果你的文章模型中有“副标题”字段,调用方法如下: 注意:首先需要在后台的“模型管理”中为文章模型添加一个名为 希望这份详细的指南能帮助你完全掌握在DedeCMS中调用文章标题的各种方法!{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)'/}
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函数对标题进行截取等操作。
