织梦cms导航遍历

2018-03-26    标签:织梦cms    阅读:458    评论:0


织梦dedeCMS调用二级子栏目或者循环调用多级栏目网站制作过程中经常都会遇到。今天博主以DEDECMS v5.6版本调用代码作为示范,调用顶级栏目及其下的所有子栏目的代码。进入正题:

{dede:channelartlist typeid='3,3'}
 <a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
 <hr>
 {dede:channel type='son' noself='yes'}
 <a href="[field:typelink/]">[field:typename/]</a><br />
 {/dede:channel}
 {/dede:channelartlist}

如 果是已经熟悉了dedecms代码朋友我想已经能看懂是什么意思了,但是还是解释一下。{dede:channelartlist typeid='3,3'} typeid为3的顶级栏目 如果你的顶级栏目为其他,则相应的改之。如果是循环调用很多个顶级目录和子目录怎么办呢?请往下看:
{dede:channelartlist typeid='3,6‘}
<a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
<hr>
{dede:channel type='son' noself='yes'}
<a href="[field:typelink/]">[field:typename/]</a><br />
{/dede:channel}
{/dede:channelartlist}

请看红色部分,意思是调用顶级栏目为3,4,5,6,的顶级栏目了。简单吧!如果有疑问,直接复制代码到模板去不断测试就知道其原理了。

也测试过这两种方式,不过不尽其意:

1

下面是官方的解释:

【Channel 标记】

功能说明:用于获取栏目列表
适用范围:封面模板、列表模板、文档模板
(1)基本语法
{dede:channel row='' type=''}
自定义样式模板(InnerText)
{/dede:channel}
(2)属性
[1] row='数字' 表示获取记录的条数(通用在某级栏目太多的时候使用,默认是 8)
[2] type = top,sun/son,self
type='top' 表示顶级栏目
type='son' 或 'sun' 表示下级栏目
type='self' 表示同级栏目
其中后两个属性必须在列表模板中使用。
(3)底层模板变量
ID,typename,typedir,typelink(仅表示栏目的网址)
例:
{dede:channel type='top'}
<a href='[field:typelink /]'>[field:typename/]</a>
{/dede:channel}
注:在没有指定typeid的情况下,type标记与模板的环境有关,如,模板生成到栏目一,那么type='son'就表示栏目一的所有子类


2DEDE商品分类三级如何用递归调用?

目前用了这个,

{dede:channelartlist cacheid='channelartlist'}
     <li>
     <h3><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></h3>
      <ul>
      {dede:channel type='son' row='10' noself='yes'}
       <li id='son_[field:id/]'><a href='[field:typelink/]'>[field:typename/]</a></li>
      {/dede:channel}
        </ul>
     </li>
 {/dede:channelartlist}

是可以循环出来二级分类和二级分类以下的子类(三级分类),但是经过多重测试,这个方法,只适用于站后台只能有一个商品的顶级分类,如果出现两个,调取的值都是一个顶级分类的内容,之前也用过

{dede:channelartlist typeid=‘2’} 
<h3><a href="{dede:field name='typeurl'/}">
{dede:field 
name='typename'/}</a></h3>
{dede:channel type='son' row='10' noself='yes'}                                                
<li id='son_[field:id/]'>
<a href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
 {/dede:channelartlist} 
dede:channelartlist  cacheid='channelsonlist' typeid=2}
<li>
    <span><img src="images/about_left_y.jpg" width="8" height="8" /></span>
    <div><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></div>
    <ul>
    {dede:channel type='sun' row='10' noself='yes'}
    <li><a href="[field:typeurl/]">[field:typename/]</a></li>
    {/dede:channel}
    </ul>
</li>
{/dede:channelartlist}

以上是我循环二级栏目及三级栏目所用的标签,
要是二级栏目下有三级栏目,就能正常输入,要是二级栏目没有三级栏目,就把同及栏目输出了
如下图所示

1522075563906373.jpg

【腾讯云】云产品采购季,助力行业复工。1核2G云服务器,首年99元

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://www.tpxhm.com/adetail/26.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录

博主信息

头像

今天努力一点,知识一点点积累,谢谢那个曾经努力的自己!

职业:Web工程师

Email:2938039696@qq.com

学习交流群:简忆blogs技术群

项目合作:2938039696

置顶推荐

站点信息

1067运行天数

333文章数量

主题框架:Foundation5
网站地图:XML网站地图
微信公众号:扫码关注公众号
公众号

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×
×
×