欢迎来到HELLO素材网! 南京网站制作选择顺炫科技
丰富的DIV CSS模版、JS,jQuery特效免费提供下载
当前位置:主页 > 建站教程 > CMS教程 >

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

发表于2019-04-21 16:05| 次阅读| 来源网络整理| 作者session

摘要:DedeCMS循环调用多级栏目及内容列表

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

Dedecms仍然是比较不错的系统,当然除了dz论坛的回复性能!!昔日共享一个比拟有用的关于循环调用子节目及其内容列表的小代码,其实查看标签手册也能看到,但毕竟仍是有懒人存在的!
  依据标签手册,在织梦(dedecms/' target='_blank'>DedeCMS)体系中惟逐一个撑持标签嵌套的调用标签,根本用法如下,可依据须要修正:

   {dede:channelartlist}
  {dede:field/}更多...
  {dede:arclist titlelen='60' row='8'}
  [field:pubdate function="MyDate('m-d',@me)'/][field:title /]
  {/dede:arclist}
  {/dede:channelartlist}
 

  我没做演示,找了个类似的效果图,借用一下:
  上述代码在首页可实现子节目及子节目内容列表的调用!下面说说 channelartlist 标签在列表页及内容页的使用。
  1、参数简介

   channelartlist 标签临时撑持三个参数,分别为:
  typeid='0' 解放上级节目ID;也可以用top,撑持“,”表明多个节目
  row='20' 循环的节目数量,默许为20;
  cacheid = '' 标签缓存ID,普通为空
 

  但若是你只是将上述代码一成不变的复制粘贴到终极节目页或内容页,是不会呈现任何调用成果的,因为在标签 channelartlist 中,当typeid为空,则表明当季节目,然而终极节目列表和内容页是没有下级节目标,所以就会犯错!
  2、调用实例
  在终极列表页或内容页,正确的调用办法应该是以下的:

   {dede:channelartlist typeid='top'}  

  这里是typied='top',这个top值可以换为你想要的上级节目ID,但绝对是不可以为空的。这个大家肯定要留意!
  3、节目高亮、特效调用
  在该标签下,可以间接分别用 {dede:field/}与{dede:field/}来表明节目名称与节目链接的,当然还有一些其它格外的变量,这里也引见一下,如:
   {dede:field/}与{dede:field/} 均表明循环中的节目ID;
  {dede:global} 表明循环递增变量,从1开始;
  {dede:global} 表明循环魔法变量,奇数为1,双数为2;
  以上就是可以在channelartlist中间接套用的,格外要留意的是第2、3两个,领有这两个变量,可以轻松制造出各类非常特性的效果,例如节目标隔行变色等。
  关于这个节目高亮,在 channelartlist.lib.php 并没有自带,但通过以下DIY可实现让当季节目停止高亮。办法(以dedecms 5.6为例):
  打开channelartlist.lib.php文件,找到如下代码:
  $pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
 

  在其下一行退出一下代码:

   if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id']){
  $pv->Fields['currentstyle'] = ' id="pic_focus"';
  }else{
  $pv->Fields['currentstyle'] = '';
  }
 

  然后,就可以在dedecms模板中停止使用{dede:field/}停止调用了。