zoukankan      html  css  js  c++  java
  • 织梦调用所有栏目一级二级三级和无限级栏目输出

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

    <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 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 `#@_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 `#@_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>
    "; 
    		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;
    }

    前台模板调用标签

    {dede:global.getalltype function='getalltype()'/}
  • 相关阅读:
    分布式一致性模型
    ubuntu18.04 基于Hadoop3.1.2集群的Hbase2.0.6集群搭建
    ubuntu18.04 flink-1.9.0 Standalone集群搭建
    Idea 打印GC
    goroutine简介
    MESI缓存一致性协议
    Spark RDD 算子总结
    SparkStreaming 笔记
    Spark 内存管理
    Highcharts(数据分析图)
  • 原文地址:https://www.cnblogs.com/dedehtml/p/9904489.html
Copyright © 2011-2022 走看看