dede如何调取文章标题?

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

在文章列表页(如首页、列表页)调取

这是最常见的场景,比如在首页或栏目页显示文章标题列表。

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

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

{dede:arclist} 是DedeCMS最核心的列表标签,用于获取一个文章列表。

基本语法:

{dede:arclist row='10' titlelen='30'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
{/dede:arclist}

参数说明:

  • row='10':表示获取10条文章记录,len='30'`:表示标题最多显示30个字符,超出部分会被截断。
  • typeid='1':表示只调用ID为1的栏目下的文章,不写则调用所有栏目的文章。
  • col='2':表示分2列显示。
  • orderby='hot':按浏览量排序,其他值如 click (点击量), pubdate (发布时间), id (文章ID) 等。

字段说明:

dede调取文章标题
(图片来源网络,侵删)
  • [field:title/]
  • [field:arcurl/]:文章的完整链接地址。
  • [field:pubdate function="MyDate('Y-m-d', @me)"/]:文章发布日期,这里使用了函数来格式化日期为 年-月-日
  • [field:description/]

页(文章详情页)调取

当用户点击一篇文章进入详情页时,你需要在这篇文章的模板中显示它自己的标题。

使用 {dede:field}

页(通常是 article_article.htm 模板),文章的标题、内容等信息都存储在 {dede:field} 标签中。

基本语法:

<h1>{dede:field.title/}</h1>
<p>发布时间:{dede:field.pubdate function="MyDate('Y-m-d', @me)"/}</p>
<p>文章来源:{dede:field.source/}</p>

字段说明:

dede调取文章标题
(图片来源网络,侵删)
  • {dede:field.title/}:当前文章的标题。
  • {dede:field.pubdate/}:当前文章的发布时间戳(Unix时间戳)。
  • {dede:field.shorttitle/}:当前文章的短标题。
  • {dede:field.description/}:当前文章的摘要。
  • {dede:field.body/}:当前文章的正文内容。

在自定义页面或单页中调取

有时候你可能想在一个静态的页面(关于我们”)中,调取某篇特定文章的标题。

使用 {dede:sql} 标签(通过SQL查询)

{dede:sql} 标签允许你直接执行SQL语句来获取数据,非常灵活。

基本语法:

假设你想获取文章ID为123的文章标题。

{dede:sql sql="SELECT title FROM dede_archives WHERE id=123"}
    <h2>[field:title/]</h2>
{/dede:sql}

说明:

  • sql="...":里面写你的SQL查询语句。
  • dede_archives 是DedeCMS中存储文章基本信息的核心表。
  • [field:title/]:在{dede:sql}标签中,使用[field:字段名/]来获取查询结果。

使用 {dede:get} 标签(推荐,更安全)

{dede:get} 是专门用于获取单条记录的标签,比直接写SQL更安全、更方便。

基本语法:

{dede:get id='123' table='dede_archives'}
    <h2>[field:title/]</h2>
{/dede:get}

参数说明:

  • id='123':指定要获取的记录的ID。
  • table='dede_archives':指定要查询的表名。

在子栏目页调取当前栏目名称

虽然不是文章标题,但这是一个非常相关的需求,经常和文章标题一起使用。

在列表页模板(如 list_category.htm)中,可以用 {dede:field} 获取当前栏目的名称。

基本语法:

<h2>{dede:field.seotitle/}</h2>
<!-- 或者 -->
<h2>{dede:field.typename/}</h2>
  • {dede:field.typename/}:获取当前栏目的名称。
  • {dede:field.seotitle/}:获取当前栏目的SEO标题。

总结与对比

场景 推荐标签 示例
文章列表页 (首页、列表页) {dede:arclist} {dede:arclist row='5'}<a href="[field:arcurl/]">[field:title/]</a>{/dede:arclist}
(详情页) {dede:field} <h1>{dede:field.title/}</h1>
获取单篇文章标题 (自定义页) {dede:get} {dede:get id='123'}[field:title]{/dede:get}
获取栏目名称 (列表页) {dede:field} <h1>{dede:field.typename/}</h1>

重要提示: DedeCMS的模板文件通常存放在 /templets/ 目录下,你需要根据你正在编辑的页面类型(列表页还是内容页)来选择正确的模板文件进行修改。

希望这份详细的教程能帮到你!如果你有更具体的需求,可以随时提问。

-- 展开阅读全文 --
头像
织梦自定义信息类型怎么用?
« 上一篇 昨天
dede如何调用随机栏目?
下一篇 » 昨天
取消
微信二维码
支付宝二维码