dede如何调用排序为5的栏目?

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

使用 typeid 属性

DedeCMS的栏目调用标签 {dede:channel} 有一个非常重要的属性 typeid,它可以指定要调用的栏目ID,我们的核心任务就变成了:如何找到“排序为5”的那个栏目的ID

dede调用排序为5的栏目
(图片来源网络,侵删)

找到目标栏目的ID

  1. 登录你的DedeCMS后台。
  2. 在左侧菜单栏中,点击【栏目】->【栏目管理】。
  3. 在栏目列表中,找到你想要调用的那个“排序为5”的栏目。
  4. 将鼠标移动到该栏目名称上,浏览器底部状态栏会显示其链接,https://www.yoursite.com/plus/catalog.php?cid=5,这里的 cid=5 就是你需要的 栏目ID

注意:“排序”和“栏目ID”是两个不同的概念。

  • 排序:是在后台【栏目管理】列表中,栏目名称旁边显示的数字,用于在前台调用时进行排序(默认是升序)。
  • 栏目ID:是系统为每个栏目自动分配的唯一识别码,即使你修改了栏目的排序,它的ID也不会变。

我们这里假设你通过上述方法找到的栏目ID是 5


调用单个指定ID的栏目(最常用)

如果你只想调用这一个栏目(只显示它的名称和链接),使用 typeid 属性是最直接的方法。

标签代码:

dede调用排序为5的栏目
(图片来源网络,侵删)
{dede:channel typeid='5'}
    <a href="[field:typeurl/]">[field:typename/]</a>
{/dede:channel}

代码解释:

  • {dede:channel typeid='5'}:调用栏目ID为5的栏目。typeid 后面跟上你找到的ID。
  • [field:typeurl/]:调用该栏目的链接地址。
  • [field:typename/]:调用该栏目的名称。

输出结果示例: 如果ID为5的栏目是“公司简介”,那么这段代码会输出:

<a href="/plus/list.php?tid=5">公司简介</a>

调用包含该ID的多个栏目(推荐)

如果你想在调用栏目列表时,将“排序为5”的栏目放在最前面,或者单独把它和其他几个栏目放在一起,可以使用 typeid 属性传入多个ID,用英文逗号隔开。

场景: 你想让ID为5的栏目(公司简介”)和ID为10的栏目(联系我们”)一起显示。

dede调用排序为5的栏目
(图片来源网络,侵删)

标签代码:

<ul>
    {dede:channel typeid='5,10'}
    <li>
        <a href="[field:typeurl/]" title="[field:typename/]">[field:typename/]</a>
    </li>
    {/dede:channel}
</ul>

代码解释:

  • typeid='5,10':同时调用ID为5和ID为10的栏目。
  • <ul><li>:这是典型的列表HTML结构,方便你进行样式美化。

输出结果示例:

<ul>
    <li>
        <a href="/plus/list.php?tid=5" title="公司简介">公司简介</a>
    </li>
    <li>
        <a href="/plus/list.php?tid=10" title="联系我们">联系我们</a>
    </li>
</ul>

通过排序值调用(不推荐,但存在)

如果你确定“排序为5”的栏目就是ID为5的栏目,并且未来这个排序不会改变,你可以利用 reidtopid 等属性结合排序来实现,但这种方法非常脆弱,一旦栏目排序或结构发生变化,调用就会出错。

标签代码: (此代码效果等同于 typeid='5',仅作知识展示)

{dede:channel type='son' reid='0' row='1' orderby='sort'}
    <a href="[field:typeurl/]">[field:typename/]</a>
{/dede:channel}
  • orderby='sort':表示按照后台的“排序”字段进行排序。
  • row='1':只调用1条记录。
  • type='son' reid='0':表示调用顶级栏目。

这种方法不如直接使用 typeid 精准和稳定,强烈不推荐使用


总结与最佳实践

场景 推荐方法 标签代码 优点
调用单个特定栏目 使用 typeid 指定ID {dede:channel typeid='5'}...{/dede:channel} 最精准、最稳定、最高效,不受任何其他因素影响。
调用多个指定栏目 使用 typeid 传入多个ID {dede:channel typeid='5,10,15'}...{/dede:channel} 灵活,可以自由组合栏目。
按顺序调用所有顶级栏目 使用默认的 channel {dede:channel}...{/dede:channel} 按后台排序显示所有顶级栏目。

最终建议:

忘记“排序为5”这个说法,直接去后台找到你想要的栏目,复制它的ID,然后使用 typeid='你复制的ID' 的方式来调用,这是最可靠、最不会出错的DedeCMS栏目调用方式。

-- 展开阅读全文 --
头像
织梦CMS字段如何实现跳转?
« 上一篇 今天
C语言基础理论与案例如何高效结合学习?
下一篇 » 今天

相关文章

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

目录[+]