dede织梦导航栏目实现三级栏目调用的方法

dede织梦调用顶级二级栏目及下三级栏目方法(数据库实现),织梦dede调用四级栏目的实现方法,织梦模板dedecms5,织梦实现三级多级栏目嵌套调用教程,下面小编来给大家介绍一下,一起来了解一下吧!

调用三级四级无限级栏目效果图

dede织梦导航栏目实现三级栏目调用的方法

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

 /**
     * 取出所有分类
     * @param     int   $channel  频道ID
     * @return    string  www.dedeyuan.com
     * 调用{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>
 ";
                        while($row = $dsql->GetArray($channel))
                        {
                                 $id = $row['id'];
                                 $typename = $row['typename'];
                                 $typelink = GetOneTypeUrlA($row);
   
                                 $result .= "       <li>
 ";
                                 $result .= "                <a href='{$typelink}' target='_blank'>{$typename}</a>
 ";
                                 getalltype($id,$line);
                                 $result .= "       </li>
 ";
                        }
             $result .= "</ul>
 ";
              }
              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]

以上就是dede织梦导航栏目实现三级栏目调用的方法的介绍,希望大家喜欢!

更多教程关注FF推源码网。

提供最优质的资源集合

立即查看 了解详情