织梦如何调用频道栏目内容?

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

下面我将从基础调用高级技巧,全面地为你讲解如何调用频道栏目内容。

织梦调用频道栏目内容
(图片来源网络,侵删)

基础调用:使用 channel

channel 标签是调用栏目的最基础、最常用的标签,主要用于获取栏目列表

基本语法

{dede:channel}
    <a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}
  • {dede:channel}: 开始标签,表示开始调用栏目。
  • [field:typelink/]: 调用当前栏目的链接地址
  • [field:typename/]: 调用当前栏目的栏目名称
  • {/dede:channel}: 结束标签。

常用属性

channel 标签可以通过属性来精确控制调用哪些栏目。

属性名 作用 示例
type 指定栏目ID。0 表示顶级栏目。 {dede:channel type='0'} (调用所有顶级栏目)
row 调用栏目的数量。 {dede:channel row='5'} (调用5个栏目)
typeid 指定从哪个栏目ID开始调用。 {dede:channel typeid='5'} (从ID为5的栏目开始调用)
reid 调用指定栏目ID下的子栏目 {dede:channel reid='3'} (调用ID为3的栏目的所有子栏目)
currentstyle 为当前栏目所在的链接添加特定的样式。 currentstyle='<li class="active"><a href="[field:typelink/]">[field:typename/]</a></li>'

实战示例:制作主导航栏

假设我们要调用所有顶级栏目作为网站的主导航,并且高亮显示当前所在的栏目。

<ul id="nav">
    {dede:channel type='0' row='8' currentstyle="<li class='active'><a href='[field:typelink/]'>[field:typename/]</a></li>"}
        <li><a href="[field:typelink/]">[field:typename/]</a></li>
    {/dede:channel}
</ul>

说明:

织梦调用频道栏目内容
(图片来源网络,侵删)
  • type='0' 确保只调用顶级栏目。
  • currentstyle 是一个非常实用的属性,当访问者处于某个栏目下时,对应的导航项会自动应用 active 样式。

高级调用:使用 arclist

很多时候,我们不仅需要栏目列表,还需要在栏目旁边显示该栏目下的最新文章列表,这时,arclist 标签就派上用场了。

arclist 用于调用文档列表,但通过指定 typeid 属性,可以实现对特定栏目内容的调用。

基本语法

{dede:arclist typeid='栏目ID' row='显示条数' titlelen='标题长度'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
    </li>
{/dede:arclist}
  • typeid='栏目ID': 这是关键,指定要调用哪个栏目下的文章。
  • row='显示条数': 显示多少篇文章。
  • titlelen='标题长度': 标题最多显示多少个字符。
  • [field:arcurl/]: 文章的链接地址。
  • [field:title/]: 文章标题。
  • [field:pubdate/]: 发布日期,通常配合 function 使用来自定义日期格式。

实战示例:首页调用多个栏目的最新文章

假设首页左侧有“公司新闻”和“产品中心”两个栏目,我们需要分别调用它们下面的最新文章。

HTML 结构:

织梦调用频道栏目内容
(图片来源网络,侵删)
<div class="news-box">
    <h2>公司新闻</h2>
    <ul>
        {dede:arclist typeid='5' row='5' titlelen='30'}
            <li><span class="date">[field:pubdate function="MyDate('m-d', @me)"/]</span><a href="[field:arcurl/]">[field:title/]</a></li>
        {/dede:arclist}
    </ul>
</div>
<div class="product-box">
    <h2>产品中心</h2>
    <ul>
        {dede:arclist typeid='6' row='4' titlelen='30'}
            <li><span class="date">[field:pubdate function="MyDate('m-d', @me)"/]</span><a href="[field:arcurl/]">[field:title/]</a></li>
        {/dede:arclist}
    </ul>
</div>

说明:

  • typeid='5' 对应“公司新闻”栏目的ID。
  • typeid='6' 对应“产品中心”栏目的ID。
  • 你可以通过CSS来美化 .news-box.product-box 的样式。

综合应用:栏目及其子栏目内容调用

这是一个非常常见的需求,比如在网站的侧边栏,显示一个父栏目,并列出它的子栏目,同时在子栏目下再列出该子栏目下的最新文章。

实现思路

  1. 使用 {dede:channelartlist} 标签循环遍历指定的父栏目。
  2. {dede:channelartlist} 内部,使用 {dede:channel} 调用当前父栏目下的子栏目。
  3. {dede:channel} 内部,再嵌套一个 {dede:arclist} 调用当前子栏目下的文章。

实战示例:侧边栏栏目导航

假设我们要调用ID为 3 的栏目(服务支持”)及其所有子栏目(技术文档”、“常见问答”)。

<!-- {dede:channelartlist typeid='3'} -->
    <div class="sidebar-widget">
        <h3>{dede:field name='typename'/}</h3> <!-- 父栏目名称 -->
        <ul class="sub-nav">
            <!-- {dede:channel} -->
                <li>
                    <a href="[field:typelink/]">[field:typename/]</a> <!-- 子栏目名称和链接 -->
                    <!-- 调用当前子栏目下的最新文章 -->
                    <ul class="article-list">
                        {dede:arclist row='3' titlelen='20'}
                            <li><a href="[field:arcurl/]">[field:title/]</a></li>
                        {/dede:arclist}
                    </ul>
                </li>
            <!-- {/dede:channel} -->
        </ul>
    </div>
<!-- {/dede:channelartlist} -->

说明:

  • {dede:channelartlist typeid='3'}: 指定从ID为 3 的父栏目开始循环。
  • {dede:field name='typename'/}: 在 channelartlist 中,使用 field 标签来获取父栏目的信息。
  • 嵌套结构清晰地展示了“父栏目 -> 子栏目 -> 子栏目文章”的三层关系。

重要技巧:获取栏目ID

在模板中手动输入栏目ID(如 typeid='5')非常不方便,而且容易出错,最好的方法是直接从织梦后台获取。

  1. 登录织梦后台。
  2. 进入【栏目管理】。
  3. 将鼠标移动到你想要调用的栏目名称上,浏览器左下角状态栏会显示该栏目的编辑链接,.../catalog_add.php?dopost=edit&cid=5
  4. 这里的 cid=5 中的 5 就是该栏目的ID,直接复制使用即可。
你的需求 推荐标签 关键属性
只调用栏目名称和链接 {dede:channel} type, row, reid, currentstyle
调用指定栏目下的文章列表 {dede:arclist} typeid (最重要), row, titlelen
调用父栏目及其子栏目和文章 {dede:channelartlist} + {dede:channel} + {dede:arclist} typeid (指定父ID), 嵌套使用

掌握了以上三种方法,你就可以灵活地在织梦模板中调用任何频道栏目内容了,多加练习,熟悉它们的属性和嵌套关系,就能制作出功能强大的网站页面。

-- 展开阅读全文 --
头像
企业用织梦CMS是否需要授权?
« 上一篇 03-04
dede如何修改管理员账号?
下一篇 » 03-04

相关文章

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