dede list如何指定id调用内容?

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

基础用法:调用指定栏目的文章列表

这是最核心的用法。typeid 属性用于指定你想要调用文章列表的栏目 ID。

dede list指定id
(图片来源网络,侵删)

找到栏目 ID

你需要知道目标栏目的 ID。

  • 登录 DedeCMS 后台。
  • 进入「核心」 -> 「栏目管理」。
  • 找到你想要调用的栏目,将鼠标悬停在该栏目上,浏览器左下角会显示链接,cid= 后面的数字就是该栏目的 ID。https://www.yoursite.com/dede/catalog_add.php?cid=15,那么这个栏目的 ID 15

在模板中使用 list

在你需要显示列表的模板文件(通常是 list_article.htm 或你自定义的列表页模板)中,使用以下代码:

{dede:list typeid='15' pagesize='10'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
    </li>
{/dede:list}

代码解析:

  • {dede:list}: 这是 DedeCMS 的列表循环开始标签。
  • typeid='15': 这是关键,它告诉 DedeCMS 只调用 ID 为 15 的栏目下的文章。
  • pagesize='10': (可选) 指定每页显示的文章数量,默认是 20 篇。
  • [field:arcurl/]: 调用文章的完整链接。
  • [field:title/]: 调用文章的标题。
  • [field:pubdate ... /]: 调用文章的发布时间,并通过 function 修饰符格式化为 年-月-日 的格式。
  • {/dede:list}: 循环结束标签。

进阶用法:调用多个栏目的文章列表

如果你想同时调用多个不同栏目的文章列表,只需要在 typeid 属性中用英文逗号 隔开这些栏目的 ID 即可。

dede list指定id
(图片来源网络,侵删)

示例: 调用 ID 为 1518 的两个栏目的文章。

{dede:list typeid='15,18' pagesize='10'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
    </li>
{/dede:list}

特殊用法:调用指定栏目及其所有子栏目的文章列表

这是一个非常实用的功能,比如你想调用“产品中心”栏目(父栏目)及其下所有“手机”、“电脑”等子栏目的文章。

找到父栏目 ID

和之前一样,在「栏目管理」中找到父栏目的 ID,假设为 10

使用 typeid 属性并加上特殊标记

typeid 属性中,直接使用父栏目的 ID,DedeCMS 会自动包含其所有子栏目。

{dede:list typeid='10' pagesize='10'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
    </li>
{/dede:list}

注意: 这种方式调用的列表,默认情况下是按照所有子栏目的文章混合在一起排序的,如果你希望按栏目分组显示,则需要更复杂的嵌套标签结构,但这通常不是 list 标签的职责,而是 channelarclist 标签的组合使用。


常见问题与注意事项

为什么指定了 typeid 但没有内容?

  • ID 错误:最常见的原因是 typeid 的值写错了,请再次核对后台栏目的 ID。
  • 栏目为空:该栏目下确实没有发布任何文章,请去后台检查一下。
  • 权限问题:该栏目可能设置了浏览权限,而当前访问的用户没有权限查看。
  • 模板缓存:DedeCMS 有模板缓存机制,修改模板后,请务必在后台点击「系统」 -> 「一键更新网站」 -> «更新缓存»,或者删除 /data/tplcache 目录下的缓存文件。

list 标签和 arclist 标签有什么区别?

这是一个非常重要的区别,新手很容易混淆。

特性 {dede:list} {dede:arclist}
使用场景 列表页 (如 list_article.htm) 首页、栏目页、内容页 等任何地方
分页 自动支持分页,配合 {dede:pagelist} 标签使用。 不支持自动分页,如果想分页,需要手动处理或使用其他方法。
功能 功能相对简单,主要用于生成一个标准的、可分页的文章列表。 功能非常强大,可以灵活地调用指定栏目、指定数量、排序方式的文章,常用于首页推荐、热门文章、相关文章等。
性能 在列表页中,list 标签是经过优化的,性能较好。 功能强大,但复杂查询可能对性能有一定影响。

简单总结:

  • 要做列表页(带分页的) -> 用 {dede:list}
  • 要在首页或其他页面调用几篇文章(不带分页的) -> 用 {dede:arclist}

如何在首页调用指定栏目的列表?

虽然你的问题是关于 list 标签的,但很多人会把这个需求搞混,如果想在首页调用某个栏目的列表,应该使用 arclist

示例:在首页调用 ID 为 15 的栏目的最新 8 篇文章。

{dede:arclist typeid='15' titlelen='30' row='8'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
{/dede:arclist}
  • arclist 没有 pagesize 属性,而是用 row 来控制显示的数量。

希望这份详细的解释能帮助你完全掌握在 DedeCMS 中使用 list 标签指定 ID 的方法!

-- 展开阅读全文 --
头像
dede修改admin密码
« 上一篇 今天
vigenere表在C语言中如何实现加密解密?
下一篇 » 今天

相关文章

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