广告位联系
返回顶部
分享到

织梦dedcms实现调用三级四级无限级栏目

网站程序 来源:互联网搜集 作者:酷站 发布时间:2018-08-05 17:13:06 人浏览
摘要

今天小编给大家分享织梦dedcms实现调用三级四级无限级栏目的教程 效果图如下: 第一种方法:自定义函数递归法 适用于前端简单样式用户,在 include/extend.func.php 最下面添加 /** * 取出所有分类 * @param int $channel 频道ID * @return string www.lol9.

今天小编给大家分享织梦dedcms实现调用三级四级无限级栏目的教程

效果图如下:


 
第一种方法:自定义函数递归法

适用于前端简单样式用户,在 
include/extend.func.php 最下面添加


/**
    * 取出所有分类
    * @param     int   $channel  频道ID
    * @return    string  www.lol9.cn织梦模板下载
    * 调用{dede:global.getalltype function='getalltype()'/}
    */
  
    function getalltype($channel=0,$line=10)
    {
             $line = empty($line) ? 10 : $line;
             global $dsql,$result;
             
             $dsql->SetQuery("SELECT id,typename,typenamedir,typelitpic,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
                FROM `dede_arctype` WHERE reid='$channel' And ishidden<>1 order by sortrank asc limit 0, $line ");
             $dsql->Execute($channel);
             if($dsql->GetTotalRow($channel)>0)
             {
                       $result .= "<ul>\r\n";
                       while($row = $dsql->GetArray($channel))
                       {
                                $id = $row['id'];
                                $typename = $row['typename'];
                                $typelink = GetOneTypeUrlA($row);
  
                                $result .= "       <li>\r\n";
                                $result .= "                <a href='{$typelink}' target='_blank'>{$typename}</a>\r\n";
                                getalltype($id,$line);
                                $result .= "       </li>\r\n";
                       }
            $result .= "</ul>\r\n";
             }
             return $result;
    }

前台模板调用标签
 

{dede:global.getalltype function='getalltype()'/}

第二种方法:标签嵌套法

适用于只调用出一级、二级、三级、四级的用户,直接在模板里写


<ul>
             {dede:channelartlist row=7 typeid=top}
             <!-- 顶级 -->
             <li>
                       <a href="{dede:field.typeurl/}" >{dede:field name='typename'/}</a>
                       <ul>
                       {dede:channel type=son noself=yes}
                       <!-- 二级 -->
                       <li>
                       <a href="[field:typeurl/]"  title="[field:typename/]">[field:typename/]</a>
                       <ul>
    <!-- 三级 -->
    [field:id runphp=yes]
    global $dsql;
    $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` 
    WHERE reid=@me And ishidden<>1 order by sortrank asc limit 0,10";
    $dsql->SetQuery($sql);
    $dsql->Execute('t');
    $result = '';
    while($row = $dsql->GetArray('t'))
    {
        $typename = $row['typename'];
        $typeurl = GetOneTypeUrlA($row);
    $result .= <<< TPL
    <li><a href="{$typeurl}">{$typename}</a></li>
    TPL;
    }
    @me = $result;
    [/field:id]
                       </ul>
                       </li>
                       {/dede:channel}
                       </ul>
             </li>   
             {/dede:channelartlist}
    </ul>

上面的是输出到三级栏目,如果需要四级栏目可以这样写:

<!-- 三级/四级 -->
    [field:id runphp=yes]
    global $dsql;
    $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` 
    WHERE reid=@me And ishidden<>1 order by sortrank asc limit 0,10";
    $dsql->SetQuery($sql);
    $dsql->Execute('t');
    $result = '';
    while($row = $dsql->GetArray('t'))
    {
        $row['typeurl'] = GetOneTypeUrlA($row);
             $result .= "<a href='{$row[typeurl]}'>{$row[typename]}</a>";
             //四级
             $nsql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 
             FROM `dede_arctype` WHERE reid=$row[id] And ishidden<>1 order by sortrank asc limit 0,10";
             $dsql->SetQuery($nsql);
             $dsql->Execute('n');
             while($nrow = $dsql->GetArray('n'))
             {
                       $nrow['typeurl'] = GetOneTypeUrlA($nrow);
                       $result .= "<a href='{$nrow[typeurl]}'>{$nrow[typename]}</a>";
             }
    }
    @me = $result;
    [/field:id]

教程就这么多了,大家自己去试试吧。欢迎下方留言交流。


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计