欢迎来到元素模板ys720.com,本站提供专业的织梦模板PBOOTCMS模板网站模板网站修改/网站仿站
当前位置:主页 > 程序教程 > DEDECMS教程 >
DEDECMS教程

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

(元素模板) / 2014-03-19 18:33
提示:首先要把/include/taglib/channerl.lib.php 文件的代码修改成以下的:

for($i=0;$i < $line;$i++)
{
if($col>1) $likeType .= “<dl>\r\n”;
for($j=0;$j<$col;$j++)
{
if($col>1) $likeType .= “<dd>\r\n”;
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 .= “</dd>\r\n”;
}//Loop Col
if($col>1)
{
$i += $col – 1;
$likeType .= ” </dl>\r\n”;
}
}//Loop for $i
reset($dsql3);
$dsql2->FreeResult();
return $likeType;
}
?>

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

<ul id=”left_nav”>
                    {dede:channel type=’son’ typeid=’16′}
     <li><a href=”[field:typelink/]“>[field:typename/]</a>
      <ul>
       [field:sonchannel0]
       <li><a href=”[field:typelink/]“>[field:typename/]</a>
                             <ul>
        [field:sonchannel1]
        <li><a href=”[field:typelink/]“>[field:typename/]</a>
                                 <ul>
         [field:sonchannel2]
         <li><a href=”[field:typelink/]“>[field:typename/]</a>
                                     <ul>
          [field:sonchannel3]
          <li><a href=”[field:typelink/]“>[field:typename/]</a></li>
          [/field:sonchannel3]
                                        </ul>
                                    </li>
         [/field:sonchannel2]
                                    </ul>
                                </li>
        [/field:sonchannel1]
                                </ul>
                            </li>
       [/field:sonchannel0]
      </ul>
                    </li>
     {/dede:channel}
                </ul>

以上typeid中的数字改成你的大分类的ID即可,因为在DEDE官方论坛没找到,所以这里发上来,希望能方便有用者。
注意:未免出错修改文件前请做好备份,以上代码可能有些引号又被自动转成全角的了,请修改成半角的,
Copyright @ 2013-2019 元素模板 www.ys720.com All Rights Reserved. 版权所有 元素模板 www.ys720.com