您现在的位置是:首页 >> 网站建设教程网站建设教程

织梦CMS调用所有栏目一级二级三级和无限级栏目

董哥2023-09-2130次围观

 

一级、二级、三级、四级标签嵌套法

 

 

<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 `58pic_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 .= "<li><a href='{$typeurl}'>{$typename}a>li>";
				}
				@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 `58pic_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 .= "{$row[typename]}";
	//四级
	$nsql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `58pic_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 .= "{$nrow[typename]}";
	}
}
@me = $result;
[/field:id]

无限级栏目无限分类自定义函数递归法

在 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 `58pic_arctype` WHERE reid='$channel' And ishidden<>1 order by sortrank asc limit 0, $line ");
	$dsql->Execute($channel);
	if($dsql->GetTotalRow($channel)>0)
	{
		$result .= "
  • "; while($row = $dsql->GetArray($channel)) { $id = $row['id']; $typename = $row['typename']; $typelink = GetOneTypeUrlA($row); $result .= "
    • "; $result .= " {$typename} "; getalltype($id,$line); $result .= "
    • "; } $result .= "
    "; } return $result; }

前台模板调用标签

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

 

 

 

标签云

站点信息