分享2种方法获取织梦所有栏目(无限级栏目输出):

第一种自定义函数递归法

适用于前端简单样式用户,在 include/extend.func.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>\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 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>

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

<!-- 三级/四级 -->[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]

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

触发修改文章时间【fastadmincms开发记录】|fastadmincms二次开发,触发,修改,文章,时间,fastadmin,ms,开发,记录
触发修改文章时间【fastadmincms开发记录】
在tp5中过滤输入的零宽度字符【fastadmincms开发记录】|fastadmincms二次开发,在tp5中,过滤,输入,的零,宽度,字符,fastadmin,ms,开发,记录
在tp5中过滤输入的零宽度字符【fastadmincms开发记录】
处理tag标签中的0宽空格【fastadmincms开发记录】|fastadmincms二次开发,处理,tag,标签,中的,0宽,空格,fastadmin,ms,开发,记录
处理tag标签中的0宽空格【fastadmincms开发记录】
添加专题时tags标签id出错【fastadmincms开发记录】|fastadmincms二次开发,添加,专题,时tags,标签,id,出错,fastadmin,ms,开发,记录
添加专题时tags标签id出错【fastadmincms开发记录】
20230518----模板 广告【fastadmincms开发记录】|fastadmincms二次开发,20230518,模板,广告,fastadmin,ms,开发,记录
20230518----模板 广告【fastadmincms开发记录】
cms添加视频模型【fastadmincms开发记录】|fastadmincms二次开发,ms,添加,视频,模型,fastadmin,开发,记录
cms添加视频模型【fastadmincms开发记录】
新增单篇收费复制功能【fastadmincms开发记录】|fastadmincms二次开发,新增,单篇,收费,复制,功能,fastadmin,ms,开发,记录
新增单篇收费复制功能【fastadmincms开发记录】
添加开会员折扣功能【fastadmincms开发记录】|fastadmincms二次开发,添加,开会,折扣,功能,fastadmin,ms,开发,记录
添加开会员折扣功能【fastadmincms开发记录】

历史上的今天:04月20日

oracle VM virtual Box 安装虚拟机并网络连接宿主机且能ping通外网

oracle VM virtual Box 安装虚拟机并网络连接宿主机且能ping通外网新建虚拟机虚拟机配置两条网络连接finallShell新建虚拟机首先准备Oracle VM virtualBox软件+CentOS-7-x86_64-Minimal-2009.iso镜像。参考镜像下载连接:支持centos7.8及其以上版本:http://mirrors.aliyun.com/centos/7/

Oracle VM virtualbox安装Linux,并访问外网,和宿主机互通

Oracle VM virtualbox安装Linux,并访问外网,和宿主机互通Oracle VM virtualbox(简称vbox)是一款开源的虚拟机软件,免费使用。说实话,没有vmware易上手,特别是网络配置对于新手比较劝退。但优点是占用资源少,不用破解。我电脑用vmware打开一个Linux虚拟机很卡顿,用vbox打开两个Linux虚拟机却很流畅。如果你电脑配置不高,vmware开多个虚

热门专题

云南开放大学|云南开放大学报名,云南开放大学报考,云南开放大学,什么是云南开放大学,云南开放大学学历,云南开放大学学费,云南开放大学报名条件,云南开放大学报名时间,云南开放大学学历,云南开放大学专业
云南开放大学
云南综合高中|云南综合高中
云南综合高中
小程序开发|微信小程序,小程序开发,小程序,小程序制作,微信小程序开发,小程序公司,小程序开发公司,分销,三级分销系统,分销系统
小程序开发
外贸网站建设|外贸网站建设,英文网站制作,英文网站设计,美国主机空间,外贸建站平台,多语言网站制作
外贸网站建设
开放大学|开放大学报名,开放大学报考,开放大学,什么是开放大学,开放大学学历,开放大学学费,开放大学报名条件,开放大学报名时间,开放大学学历,开放大学专业
开放大学
弥勒综合高中|弥勒综合高中
弥勒综合高中
APP开发|app开发_app开发公司_app软件开发_专业app开发_云南app开发公司_app定制_原生app开发定制
APP开发
安徽中源管业|安徽中源管业,安徽中源管业mpp电力管,安徽中源管业cpvc电力管,安徽中源管业pe穿线管,安徽中源管业电力管,安徽中源管业排水管,安徽中源管业通信管,安徽中源管业管材
安徽中源管业

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部