DedeCMS织梦循环调用多级栏目及内容列表

春天到了,各种绚丽的花朵都开放了,金黄的油菜花,成了蝴蝶的天地,美丽的蝴蝶在金黄色的舞台上跳着柔和而优美的舞姿。它们一会儿在空中飞舞,一会儿静静地停留在油菜花上。给春天增添了不少乐趣。油菜花的美丽,同时也吸引了不少 "劳动人民 "——蜜蜂,它们总是不分昼夜地不辞辛劳地给油菜花授粉。偶尔一阵微风吹来,金黄的油菜花立刻涌起了高低起伏的 "金浪花 "。远远望去,真是美不胜收!

  Dedecms还是比较不错的当然除了论坛的技术回复速度!!今天分享一个比较实用的关于循环调用子栏目及其内容列表的小代码其实查看标签手册也能看到但毕竟还是有懒人存在的!

  根据标签手册在织梦(DedeCMS)系统中可以用 channelartlist 标签进行循环子栏目及其栏目数据据说它也是织梦(DedeCMS)系统中唯一一个支持标签嵌套的调用标签基本用法如下可根据需要修改

  <div>

  {dede:channelartlist}

  <dl>

  <dt><strong><a rel="nofollow noopener noreferrer" href="{dede:field name=typeurl/}">{dede:field name=typename/}</a></strong><span><a rel="nofollow noopener noreferrer" href="{dede:field name=typeurl/}">更多</a></span></dt>

  <dd>

  <ul>

  {dede:arclist titlelen= row=}

  <li><span>[field:pubdate function="MyDate(md@me)/]</span><a rel="nofollow noopener noreferrer" href="[field:arcurl /]">[field:title /]</a></li>

  {/dede:arclist}

  </ul>

  </dd>

  </dl>

  {/dede:channelartlist}

  </div>


  我没做演示找了个类似的效果图借用一下

  上述代码在首页可实现子栏目及子栏目内容列表的调用!下面说说 channelartlist 标签在列表页及内容页的使用

  参数简介

  channelartlist 标签暂时支持三个参数分别为

  typeid= 限制上级栏目ID也可以用top支持“”表示多个栏目

  row= 循环的栏目数量默认为

  cacheid =  标签缓存ID一般为空

  但如果你只是将上述代码原封不动的复制粘贴到终极栏目页或内容页是不会出现任何调用结果的因为在标签 channelartlist 中当typeid为空则表示当前栏目但是终极栏目列表和内容页是没有下级栏目的所以就会出错!

  调用实例

  在终极列表页或内容页正确的调用方法应该是以下的

  

{dede:channelartlist typeid=top}

  这里是typied=top这个top值可以换为你想要的上级栏目ID但绝对是不可以为空的这个大家一定要注意!

  栏目高亮特效调用

  在该标签下可以直接分别用 {dede:field name=typename/}与{dede:field name=typeurl/}来表示栏目名称与栏目链接的当然还有一些其它特殊的变量这里也介绍一下如

  

  {dede:field name=id/}与{dede:field name=typeid/} 均表示循环中的栏目ID

  {dede:global name=itemindex} 表示循环递增变量从开始

  {dede:global name=itemparity} 表示循环魔法变量单数为双数为

  以上就是可以在channelartlist中直接套用的特别要注意的是第两个拥有这两个变量可以轻松制作出各类非常个性的效果例如栏目的隔行变色等

  关于这个栏目高亮在 channelartlistlibphp 并没有自带但通过以下DIY可实现让当前栏目进行高亮方法(以dedecms 为例)

  打开channelartlistlibphp文件找到如下代码

  

$pv>Fields[typeurl] = GetOneTypeUrlA($typeids[$i]);

  在其下一行加入一下代码

  

  if($typeids[$i][id] == $refObj>TypeLink>TypeInfos[id]){

  $pv>Fields[currentstyle] =  id="pic_focus";

  }else{

  $pv>Fields[currentstyle] = ;

  }

  然后就可以在模板中进行使用{dede:field name=currentstyle/}进行调用了

您可能有感兴趣的文章
dedecms如何实现任意页面调用当前会员信息的方

DedeCMS织梦判断是否有二级栏目输出HTML代码

织梦dedecms dede:arclist输出取消换行符

dedecms文章添加字段填栏目id,内容页调用字段里的栏目文章

dedeCMS首页列表页文章页调用tag的方法