调用标签怎么用?

99ANYc3cd6
预计阅读时长 17 分钟
位置: 首页 织梦建站 正文

基础调用标签 {dede:field}{dede:global}

这两个是最核心、最常用的标签,用于在当前栏目页或内容页调用当前栏目的信息。

织梦栏目标题调用标签
(图片来源网络,侵删)

{dede:field}

这个标签主要用于在栏目页内容页调用当前栏目的字段信息。

  • 调用当前栏目标题 这是最直接的方式,在栏目页模板(如 list_article.htm页模板(如 article_article.htm)中使用。

    <h1>{dede:field name='title'/}</h1>
    • 说明name='title' 指定了要调用的字段是“标题”,在栏目页,它显示的就是当前栏目的标题。
  • 调用当前栏目其他信息 你也可以用同样的方式调用栏目的其他字段,

    <!-- 调用栏目描述 -->
    <meta name="description" content="{dede:field name='description' function='html2text(@me)'/}" />
    <!-- 调用栏目关键词 -->
    <meta name="keywords" content="{dede:field name='keywords'/}" />
    <!-- 调用栏目上级栏目名称 -->
    <p>上级栏目:<a href="{dede:field name='typelink'/}">{dede:field name='typename'/}</a></p>
    <!-- 调用栏目链接 -->
    <a href="{dede:field name='typelink'/}">{dede:field name='title'/}</a>
    • 常用字段
      • title: 栏目标题
      • typename: 栏目名称
      • description: 栏目描述
      • keywords: 栏目关键词
      • typelink: 栏目链接地址
      • id: 栏目ID
      • seotitle: SEO标题

{dede:global}

这个标签通常用于调用网站的全局变量,比如网站名称,但也可以用来调用顶级栏目的信息。

织梦栏目标题调用标签
(图片来源网络,侵删)
  • 调用网站名称

  • 调用顶级栏目标题 在一个子栏目页,如果你想获取其顶级栏目的标题,可以这样用:

    <h2>顶级栏目:{dede:field name='topid' runphp='yes'}
        $id = @me;
        $sql = "SELECT typename FROM `dede_arctype` WHERE id='$id'";
        $row = $dsql->GetOne($sql);
        @me = $row['typename'];
    {/dede:field}</h2>
    • 说明:这是一个通过PHP代码实现的调用。{dede:field name='topid'} 先获取当前栏目的顶级栏目ID,然后通过SQL查询该ID对应的栏目名称,这种方法非常灵活,可以调用任何你想要的上级栏目信息。

循环调用标签 {dede:channel}{dede:arclist}

当你需要在某个位置列出多个栏目时,就需要使用循环标签。

{dede:channel}

这个标签专门用于调用栏目列表,是制作主导航、侧边栏栏目等的首选。

织梦栏目标题调用标签
(图片来源网络,侵删)
  • 基本用法:调用所有顶级栏目

    <nav>
        <ul>
            {dede:channel type='top'}
            <li><a href="[field:typelink/]">[field:typename/]</a></li>
            {/dede:channel}
        </ul>
    </nav>
    • 说明
      • type='top':表示只调用顶级栏目,如果去掉这个属性,则会调用所有栏目(包括顶级和子栏目)。
      • [field:typelink/]:等同于 {dede:field name='typelink'/},在循环标签中,简写形式更常用。
      • [field:typename/]:等同于 {dede:field name='typename'/}
  • 进阶用法:调用指定ID的子栏目 假设你想调用ID为 2 的栏目的所有子栏目。

    <div class="sub-nav">
        <h3>产品分类</h3>
        <ul>
            {dede:channel typeid='2'}
            <li><a href="[field:typelink/]">[field:typename/]</a></li>
            {/dede:channel}
        </ul>
    </div>
    • 说明typeid='2' �定了只调用栏目ID为 2 的子栏目。
  • 更复杂的用法:调用所有栏目并区分顶级和子栏目 如果你希望顶级栏目和子栏目有不同的样式,可以使用 currentstyle 属性和 typeidreid 等判断。

    <ul>
        {dede:channel type='top' currentstyle="<li class='active'><a href='~typelink~'>~typename~</a></li>"}
            <li><a href="[field:typelink/]">[field:typename/]</a></li>
            {dede:channel type='son' noself='yes'}
            <ul class="sub-menu">
                <li><a href="[field:typelink/]">[field:typename/]</a></li>
            </ul>
            {/dede:channel}
        {/dede:channel}
    </ul>
    • 说明:这是一个简化的二级导航示例。type='son' 会调用当前顶级栏目的子栏目。currentstyle 用于给当前栏目所在的链接添加特殊样式。

{dede:arclist}

{dede:arclist} 是用于调用文章列表的,但通过其属性 typeid,它可以实现一个特殊的功能:调用指定栏目及其子栏目的最新文章标题,从而间接展示这些子栏目。

  • 场景:在首页或某个栏目页,你想展示“产品中心”下的所有产品分类的最新动态。
  • 用法
    {dede:arclist titlelen='30' row='10' typeid='2'}
        <li>
            <a href="[field:arcurl/]">[field:title/]</a>
            <span>—— 来自 [field:typename/] 栏目</span>
        </li>
    {/dede:arclist}
    • 说明
      • typeid='2':指定了要查询的栏目ID。{dede:arclist} 会查询ID为 2 的栏目以及它所有子栏目下的文章。
      • [field:typename/]:在这个循环中,typename 显示的是这篇文章所属的子栏目的名称,这让你知道这篇文章来自哪个分类。

在不同模板中的调用总结

调用位置 需求 推荐标签 示例
栏目页 (list_xxx.htm) 显示当前栏目的标题 {dede:field} <h1>{dede:field.title/}</h1>
首页/其他页 调用所有顶级栏目(如主导航) {dede:channel} {dede:channel type='top'}<a href='[field:typelink/]'>[field:typename/]</a>{/dede:channel}
首页/其他页 调用指定ID的子栏目(如侧边栏) {dede:channel} {dede:channel typeid='2'}<a href='[field:typelink/]'>[field:typename/]</a>{/dede:channel}
首页/其他页 调用某栏目及其子栏目的最新文章 {dede:arclist} {dede:arclist typeid='2'}[field:title] 来自 [field:typename]{/dede:arclist}

重要提示:标签命名规范

在较新版本的织梦CMS中,标签的写法有两种,功能完全相同:

  1. 属性形式{dede:field name='title'/}
  2. 底层模板形式{dede:field}{/dede:field},在标签对之间直接写字段名。

两者效果一样,你可以根据自己的习惯选择,在循环标签中,底层模板形式更简洁,如 [field:title/]

希望这份详细的指南能帮助你熟练掌握织梦CMS的栏目标题调用!如果你有更具体的需求,比如调用指定栏目层级、自定义排序等,可以继续提问。

-- 展开阅读全文 --
头像
织梦URL为何显示不完整?
« 上一篇 03-06
dede自定义变量如何正确调用?
下一篇 » 03-06

相关文章

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