行业网 > 行业资讯 > 站长 > ↬ 正文站长

DedeCms织梦调用所有栏目,无限级栏目输出

新一搜导航网2019-03-31 18:28站长快速评论

分享2种方法获取织梦所有栏目(无限级栏目输出)
 
第一种自定义函数递归法
 
适用于前端简单样式用户,在 include/extend.func.php 最下面添加
 
PHP
 
/**
* 取出所有分类
* @param     int   $channel  频道ID
* @return    string
* 调用{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 `SzsFox_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;}
复制
 
前台模板调用标签
 
PHP
 
{dede:global.getalltype function='getalltype()'/}
复制
 
第二种标签嵌套法
 
适用于只调用出一级、二级、三级、四级的用户,直接在模板里写
 
PHP
 
<ul>
{dede:channelartlist row=7 typeid=top}
<!-- 顶级 -->
<li class="top">
<a href="{dede:field.typeurl/}" >{dede:field name='typename'/}</a>
<ul class="sub">
{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 `SzsFox_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>
复制
 
上面的是输出到三级栏目,如果需要四级栏目可以这样写
 
PHP
 
<!-- 三级/四级 -->[field:id runphp=yes]global $dsql;$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `SzsFox_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 `SzsFox_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]
 
复制效果图
DedeCms织梦调用所有栏目,无限级栏目输出效果图
行业导航管理系统

文章来源于:行业导航网:http://www.hangyeba.cn/wzjs/610.html

- END -

浏览完了?你可以点我去评论留下观点!

评论

    不发表一下观点,这个评论功能拿来做什么?
    • 全部评论(0
      还没有评论,快来抢沙发吧!
行业吧

本月热门

站点信息

  • 网站运行
  • 共有文章:709 篇
  • 标签管理标签云