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

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

<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 `#@_arctype` WHERE [email protected] 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 `#@_arctype` WHERE [email protected] 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 `#@_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]

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

在 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 `#@_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()‘/}

原文地址:https://www.cnblogs.com/dedevip/p/9904489.html

时间: 2024-08-18 05:19:16

织梦调用所有栏目一级二级三级和无限级栏目输出的相关文章

织梦调用摘要

1.列表中需要调用文章摘要的可以{dede:arclist typeid='' titlelen='15' orderby='pubdate' row='3'}<li>·<a href="[field:arcurl/]" title="[field:fulltitle/]">[field:title/]</a><p>[field:description function='cn_substr(@me,110)'/]&l

dede织梦调用顶级二级栏目及下三级栏目方法!

通过dede调用二级栏目大家都会调用,但要调用三级栏目,就有点麻烦了,如下样式的三级栏目dede如何调用呢?如下: ----------------------------------------A级主栏目 +顶级栏目 +二级栏目        +三级栏目(A)        +三级栏目(B)        +三级栏目(C)    +二级栏目        +三级栏目(D)        +三级栏目(E)        +三级栏目(F) -----------------------------

织梦调用指定顶级栏目或当前子栏目名称的方法

有时候我们会在列表页或者内容详情页调用指定的顶级栏目名称及链接,试了很多方法,有的只能调用所有顶级栏目或者是该频道下面的子栏目,实在是让人感到费解..下面说说各种栏目名称的调用方法:  1.{dede:field name="typename"} 这是调用当前栏目的名称 2.{dede:channel type='son' row='5'} <a href="[field:typeurl/]">[field:typename/]</a> {/

织梦调用

{dede:global.cfg_webname/}  首页标题{dede:global.cfg_description/} 网站描述{dede:global.cfg_keywords/} 网站关健词{dede:global.cfg_basehost/} 首页栏目调用 <li><a href="{dede:global.cfg_cmsurl/}/">首页</a></li> {dede:channel type='top' row=5}&l

dedecms织梦调用二级和三级分类标签

dedecms调用二级.三级以及调用栏目所有子栏目 <!--频道分类具体内容开始--> <div class="channel_sort"> {dede:channelartlist cacheid='channelsonlist'} <h3><a href="{dede:field name='typeurl'/}" >{dede:field name='typename'/}</a></h3>

织梦调用栏目、栏目内容代码

dedecms调用顶级栏目 {dede:channel type='top' currentstyle="<li class='on'><a href='~typelink~' ~rel~>~typename~</a></li>"} <li><a href='[field:typeurl/]' [field:rel/]>[field:typename/]</a></li> {/dede:ch

织梦调用父级栏目链接和名称

打开文件 /include/taglib/channel.lib.php 找到代码 else if($type=='self') { if($reid==0) return ''; $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1

织梦调用当前栏目名称,链接

当前栏目的调用好像DEDECMS标签中没有提到,其实DEDECMS已经默认了,有心的站长们如果测试过肯定知道.下面为大家介绍下怎么样调用当前栏目,有链接的{dede:type}<a href="[field:typelink /]">[field:typename /]</a>{/dede:type} 没链接的{dede:type}[field:typename /]{/dede:type}

aspose.words for java操作文档doc,设置一级二级三级标题以及段落表格等详情

实现将aspose.words的相关组件jar包 以下是我自己编辑整理的工具类,欢迎交流 package com; import java.io.InputStream; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.aspose.words.CellMerge; import com.aspose.words.CellVerticalAlignment; import com.aspose.words.D