17站长网

17站长网 首页 CMS dedecms 查看内容

织梦如何调用三四级子栏目

2023-8-1 12:24| 查看: 1198 |来源: 互联网

先来看看效果图: (此图片来源于网络,如有侵权,请联系删除! ) 实现方法: 第一种自定义函数递归法 适用于前端简单样式用户,在 include/extend.func.php 最下 ...

先来看看效果图:

织梦调用三四级子栏目

(此图片来源于网络,如有侵权,请联系删除! )

实现方法:

第一种自定义函数递归法

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

/**

* 取出所有分类

* @param int $channel 频道ID

* @return string www.dede58.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>\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]

这样就可以了。

本文最后更新于 2023-8-1 12:24,某些文章具有时效性,若有错误或已失效,请在网站留言或联系站长:17tui@17tui.com
·END·
站长网微信号:w17tui,关注站长、创业、关注互联网人 - 互联网创业者营销服务中心

免责声明:本站部分文章和图片均来自用户投稿和网络收集,旨在传播知识,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系我们及时修正或删除。谢谢!

17站长网微信二维码

始终以前瞻性的眼光聚焦站长、创业、互联网等领域,为您提供最新最全的互联网资讯,帮助站长转型升级,为互联网创业者提供更加优质的创业信息和品牌营销服务,与站长一起进步!让互联网创业者不再孤独!

扫一扫,关注站长网微信

大家都在看

    热门排行

      最近更新

        返回顶部