1998年互联网崛起,程序人奋勇前行;If,程序基本逻辑,开启程序人生[if98];谨以此站献给奋斗中的你

发表文章 上传软件

DEDECMS中获取无限栏目子分类的方法收藏挑错

2018-07-10 09:57 采编:程序人生 阅读 投稿赚币
[db:摘要]
做企业网站大部分是使用DEDECMS,今天在给客户设计网站时,把DEDE自动内链和URL全拼格式搞定后,又遇到了个小问题,因为产品分类最多有四级,客户要求在左侧有个弹出式菜单调用各级子分类出来,而DEDECMS默认只能调用一级分类。经过萧涵的努力,百度+GOOGLE+自己脑袋,终于搞定了这个东西,不敢独享,发出来给有需要的朋友分享。

首先要把/include/taglib/channerl.lib.php 文件的代码修改成以下的:

代码如下:
<?php
function lib_channel(&$ctag,&$refObj)
{
global $_sys_globals,$envs,$dsql;
$attlist = “typeid|0,reid|0,row|100,col|1,type|son,currentstyle|”;
FillAttsDefault($ctag->CAttribute->Items,$attlist);
extract($ctag->CAttribute->Items, EXTR_SKIP);
$innertext = $ctag->GetInnerText();
if(empty($typeid) && $envs['typeid']!=0)
{
$typeid = $envs['typeid'];
$reid = $envs['reid'];
}else{
$reid=0;
}
if($type==”||$type==’sun’) $type=”son”;
if($innertext==”) $innertext = GetSysTemplets(“channel_list.htm”);
if($reid==0 && $typeid>0)
{
$dbrow = $dsql->GetOne(“Select reid From ying_arctype where id=’$typeid’ “);
if(is_array($dbrow)) $reid = $dbrow['reid'];
}
$likeType = ”;
if($type==’top’)
{
$sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
From ying_arctype where reid=0 And ishidden<>1 order by sortrank asc limit 0,$row”;
}
else if($type==”son”)
{
//if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];
if($typeid==0) {
return ”;
}
$sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
From ying_arctype where reid=’$typeid’ And ishidden<>1 order by sortrank asc limit 0,$row”;
}
else if($type==”self”)
{
if($reid==0) {
return ”;
}
$sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
From ‘ying_arctype’ where reid=’$reid’ And ishidden<>1 order by sortrank asc limit 0,$row”;
}
//And id<>’$typeid’
$dtp2 = new DedeTagParse();
$dtp2->SetNameSpace(“field”,”[","]“);
$dtp2->LoadSource($innertext);
$dsql2 = clone $dsql;
$dsql->SetQuery($sql);
$dsql->Execute();
$line = $row;
$GLOBALS['autoindex'] = 0;
for($i=0;$i < $line;$i++)
{
if($col>1) $likeType .= “<dl>\r\n”;
相关标签:[db:TAG标签]
程序人生if98.com,专注IT人成长、所需、职场,欢迎参与撰稿、分享资源!

扫一扫关注程序人生公众号

免责声明:本文内容由[程序人生]用户自行发布或编辑转载,本站不拥有所有权、不承担相关法律责任。 如发现有涉嫌抄袭的内容,可邮件 web@if98.com 举报,并提供证据,一经查实,本站将立刻删除涉嫌侵权内容。

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片

站长推荐dedecms模板

站长推荐资源下载

站长推荐文章

论坛推荐

关于我们

微信公众号

扫码关注官方微信

返回顶部