找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 938|回复: 0

[分享] 织梦DEDECMS栏目获取无限子分类的方法

[复制链接]
发表于 2018-3-23 08:15:36 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
提示:首先要把/include/taglib/channerl.lib.php 文件的代码修改成以下的:

  1. for($i=0;$i < $line;$i++)
  2. {
  3. if($col>1) $likeType .= “<dl>\r\n”;
  4. for($j=0;$j<$col;$j++)
  5. {
  6. if($col>1) $likeType .= “<dd>\r\n”;
  7. if($row=$dsql2->GetArray())
  8. {
  9. $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
  10. if(is_array($dtp2->CTags))
  11. {
  12. foreach($dtp2->CTags as $tagid=>$ctag){
  13. if(isset($row[$ctag->GetName()]))
  14. {
  15. $dtp2->Assign($tagid,$row[$ctag->GetName()]);
  16. }
  17. elseif (preg_match(‘/^sonchannel[0-9]*$/’,$ctag->GetName()))
  18. {
  19. $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql3));
  20. }
  21. }
  22. }
  23. $likeType .= $dtp2->GetResult();
  24. }
  25. if($col>1) $likeType .= “</dd>\r\n”;
  26. }//Loop Col
  27. if($col>1)
  28. {
  29. $i += $col – 1;
  30. $likeType .= ” </dl>\r\n”;
  31. }
  32. }//Loop for $i
  33. reset($dsql3);
  34. $dsql2->FreeResult();
  35. return $likeType;
  36. }
  37. ?>
复制代码


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

  1. <ul id=”left_nav”>
  2.                     {dede:channel type=’son’ typeid=’16′}
  3.      <li><a href=”[field:typelink/]“>[field:typename/]</a>
  4.       <ul>
  5.        [field:sonchannel0]
  6.        <li><a href=”[field:typelink/]“>[field:typename/]</a>
  7.                              <ul>
  8.         [field:sonchannel1]
  9.         <li><a href=”[field:typelink/]“>[field:typename/]</a>
  10.                                  <ul>
  11.          [field:sonchannel2]
  12.          <li><a href=”[field:typelink/]“>[field:typename/]</a>
  13.                                      <ul>
  14.           [field:sonchannel3]
  15.           <li><a href=”[field:typelink/]“>[field:typename/]</a></li>
  16.           [/field:sonchannel3]
  17.                                         </ul>
  18.                                     </li>
  19.          [/field:sonchannel2]
  20.                                     </ul>
  21.                                 </li>
  22.         [/field:sonchannel1]
  23.                                 </ul>
  24.                             </li>
  25.        [/field:sonchannel0]
  26.       </ul>
  27.                     </li>
  28.      {/dede:channel}
  29.                 </ul>
复制代码


以上typeid中的数字改成你的大分类的ID即可,因为在DEDE官方论坛没找到,所以这里发上来,希望能方便有用者。
注意:未免出错修改文件前请做好备份,以上代码可能有些引号又被自动转成全角的了,请修改成半角的,

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2025-1-10 20:31 , Processed in 0.043425 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表