最基础调用(完整标题)
这是最简单、最直接的方法,直接调用文章的完整标题,不加任何修饰。

(图片来源网络,侵删)
标签代码:
{dede:field.title/}
使用场景:
当你需要显示文章的完整标题时,直接使用这个标签即可,放在 <h1> 标签中,这对SEO非常重要。
示例:
<h1>{dede:field.title/}</h1>
并自动链接到文章本身
页中最常用的方法之一,标题会自动生成一个指向当前文章页面的链接,通常用于面包屑导航或文章内的小标题。

(图片来源网络,侵删)
标签代码:
<a href="{dede:field name='arcurl'/}">{dede:field.title/}</a>
代码解释:
{dede:field name='arcurl'/}:这个标签用于获取当前文章的完整URL链接。{dede:field.title/}:获取文章标题。- 将它们组合在
<a>标签中,就创建了一个指向自身的标题链接。
示例:
<!-- 在面包屑导航中使用 -->
<span><a href="{dede:field name='arcurl'/}">{dede:field.title/}</a></span>
(适用于列表页或摘要)
页的摘要部分或相关文章列表中显示标题,但标题太长需要截取,可以使用这个方法。

(图片来源网络,侵删)
标签代码:
{dede:field.title function='cn_substr(@me, 30)'/}
代码解释:
function='cn_substr(@me, 30)':这是一个函数调用。@me:代表当前字段的原始值,在这里就是{dede:field.title/}的完整标题。cn_substr:是 DedeCMS 的一个截取字符串的函数。30:表示截取前30个字符(一个汉字算一个字符)。
示例:
结合栏目名和标题(面包屑导航)
这是非常实用的一个技巧,常用于页面顶部的面包屑导航,告诉用户当前文章所在的栏目层级。
标签代码:
{dede:field.position runphp='yes'}
$tcid = @me;
$tkd = '';
$tpath = GetTopid($tcid, -1);
$dsql = new DedeSql(false);
$dsql->SetQuery("SELECT * FROM dede_arctype WHERE id in($tpath)");
$dsql->Execute('al');
while($row = $dsql->GetArray('al'))
{
$tkd .= "<a href='".$row['typedir']."'>".$row['typename']."</a> > ";
}
@me = $tkd;
{/dede:field.position}
{dede:field.title/}
代码解释:
{dede:field.position runphp='yes'}:position字段默认是栏目路径(如栏目ID,上级栏目ID),runphp='yes'允许我们在PHP代码中处理这个值。GetTopid($tcid, -1):获取当前文章所有顶级栏目的ID。while循环:通过查询dede_arctype表(栏目表),获取每个顶级栏目的名称和链接。$tkd .= ...:拼接出类似<a href='栏目链接'>栏目名</a > >的字符串。@me = $tkd;:将处理好的字符串赋值给@me,最终输出。{dede:field.title/}:最后再输出当前文章的标题。
最终效果:
首页 > 技术分享 > DedeCMS > 这篇文章的完整标题
总结与推荐
| 需求场景 | 推荐标签代码 | 说明 |
|---|---|---|
| (H1) | {dede:field.title/} |
最基础、最常用的方法,SEO优化关键。 |
| 带链接的标题 | <a href="{dede:field.name='arcurl'/}">{dede:field.title/}</a> |
用于面包屑、相关文章等,增加可点击性。 |
{dede:field.title function='cn_substr(@me, 30)'/} |
在摘要或列表中控制标题显示长度。 | |
| 面包屑导航 | 见方法四 | 显示完整的栏目路径和当前文章标题,用户体验好。 |
重要提示:
- 模板位置: 这些代码需要放在你当前文章页模板文件中,通常是
/templets/default/article_article.htm或你自定义的模板文件。 - 标签区分: 在列表页(如
index.htm,list_article.htm和内容页的标签是不同的,列表页通常用{dede:title/}和{dede:field.title/}都可以,但内容页最好统一使用{dede:field.xxx/}的形式。
希望这些方法能帮到你!
