织梦栏目获取无限子分类的修改方法适应dedecms5.7

  织梦模板平台的修改方法是:

  首先要把/include/taglib/channerl.lib.php 文件的代码修改成以下的:

  for($i=0;$i < $line;$i++)   {   if($col>1) $likeType .= “

  ”;

  for($j=0;$j<$col;$j++)   {   if($col>1) $likeType .= “

  ”;

  if($row=$dsql2->GetArray())

  {

  $row[‘typelink’] = $row[‘typeurl’] = GetOneTypeUrlA($row);

  if(is_array($dtp2->CTags))

  {

  foreach($dtp2->CTags as $tagid=>$ctag){

  if(isset($row[$ctag->GetName()]))

  {

  $dtp2->Assign($tagid,$row[$ctag->GetName()]);

  }

  elseif (preg_match(‘/^sonchannel[0-9]*$/’,$ctag->GetName()))

  {

  $dtp2->Assign($tagid,lib_channel_son($ctag,$row[‘id’],$dsql3));

  }

  }

  }

  $likeType .= $dtp2->GetResult();

  }

  if($col>1) $likeType .= “

  ”;

  }//Loop Col

  if($col>1)

  {

  $i += $col – 1;

  $likeType .= ”

  ”;

  }

  }//Loop for $i

  reset($dsql3);

  $dsql2->FreeResult();

  return $likeType;

  }

  ?>

  在模板里面用 [field:sonchannel0] [/field:sonchannel0] 调用,这个是用来取子栏目用得(使用【sonchannel+数字】作为标签名是为了防止嵌套的时候无法正确解析标签),这个的作用就是当你的栏目有很多子栏目无限分级的时候方便你取子栏目的。实例一下:

  

      {dede:channel type=’son’ typeid=’16′}

      

  • [field:typename/]

      

        [field:sonchannel0]

        

    • [field:typename/]

        

          [field:sonchannel1]

          

      • [field:typename/]

          

            [field:sonchannel2]

            

        • [field:typename/]

            

              [field:sonchannel3]

              

          • [field:typename/]
          •   [/field:sonchannel3]

              

            

        •   [/field:sonchannel2]

            

          

      •   [/field:sonchannel1]

          

        

    •   [/field:sonchannel0]

        

      

  •   {/dede:channel}

      

  以上typeid中的数字改成你的大分类的ID即可,因为在DEDE官方论坛没找到,织梦模板平台所以这里发上来,希望能方便有用者。

☉免责声明:本站所有模板均来自用户分享和网络收集,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服,我们核实后会立即删除。
☉本站提供的源码、模板、软件工具等其他资源,都不包含技术服务,请大家谅解!
pbootcms模板网 » 织梦栏目获取无限子分类的修改方法适应dedecms5.7

Pbootcms模板网 提供优质的模板集合

立即查看 了解详情