获得DEDECMS无限柱分型方法

获得DEDECMS无限柱分型方法
点评:经过小涵的努力,百度+谷歌+自己的脑袋,终于做了这件事,不敢去享受它,并把它送给需要分享的朋友们。

大多数企业网站后台,在网页设计中的客户今天dede链和URL自动拼写格式修复遇到了小问题后,由于产品分类为四级,客户要求一个弹出式菜单子在左侧的分类,和默认的只能称为dedecms等级分类。在小韩的努力,百度+谷歌+自己的头,终于完成了这件事,不敢享受它,并发送给需要的朋友分享的。

首先,改变 / / /标签的代码包括channerl.lib.php以下文件

复制代码代码如下所示:
< PHP
功能lib_channel($标签,refobj美元)
{
全球_sys_globals美元美元美元,ENVS,表;
ATTLIST美元= typeid | 0,瑞德| 0,排| 100,西| 1型|儿子,currentstyle |;;;
fillattsdefault($标签-> cattribute ->项目,$ ATTLIST);
提取物($标签-> cattribute ->项目,extr_skip);
元标签-> getinnertext innerText = $();
如果(空($ typeid){ } 'typeid ENVS美元!= 0)
{
typeid =美元美元的'typeid ENVS { };
瑞德=美元美元的'reid ENVS { };
其他{ }
瑞德= 0;
}
如果(合型= =;|型= =我|美元;sunrsquo;)$型= son;;
如果($ innerText = = )= getsystemplets InnerText美元(channel_list。htm);
如果($瑞德= = 0美元typeid > 0)
{
$dbrow = $dsql->GetOne (ldquo; Select Reid From ying_arctype where id=rsquo; $typeidrsquo; ldquo;);
如果(is_array(dbrow美元美元美元))瑞德dbrow { 'reid};
}
liketype美元=;;
如果(合型= =我;toprsquo;)
{
为SQL = 选择ID,typename,typedir,isdefault,属于语法,namerule2,moresite,siteurl。
从ying_arctype瑞德= 0和隐藏的<> 1阶的sortrank ASC限制0,row美元;;
}
如果(合型= =;son)
{
/ /如果($ _sys_globals { 'typeid} > 0){ 'typeid typeid =美元美元_sys_globals};
如果($ typeid = = 0){
返回;;
}
为SQL = 选择ID,typename,typedir,isdefault,属于语法,namerule2,moresite,siteurl。
从ying_arctype瑞德= rsquo;typeidrsquo美元;和隐藏的<> 1阶的sortrank ASC限制0,;;
}
如果(合型= =;self)
{
如果(瑞德= 0){
返回;;
}
为SQL = 选择ID,typename,typedir,isdefault,属于语法,namerule2,moresite,siteurl。
从&lsquo;ying_arctypersquo;瑞德= ';reidrsquo美元;和隐藏的<> 1阶的sortrank ASC 0;
}
/ /身份<> typeidrsquo美元';
新dedetagparse DTP2美元=();
$ DTP2 -> setnamespace(field{
$ DTP2 -> LoadSource($ innerText);
dsql2 =克隆DSQL美元美元;
DSQL -> setquery美元($ SQL);
$ DSQL ->执行();
$行= $行;
美元'autoindex} = 0 = {;
($ i = 0;$ i $ $行;$ + +)
{
如果(美元关口> 1)liketype美元= R;;
为($ = 0;$ j $;
{
如果(美元关口> 1)liketype美元= R;;
如果($行= $ DSQL -> GetArray())
{
如果(合型= =我;selfrsquo;$行{ 'id' } = = $ typeid) / /处理在立柱上,立柱式
{
如果(currentstyle美元!=;
{
linkokstr = currentstyle美元美元;
{ } =行'typelink美元的getonetypeurla(合排);
linkokstr美元= str_replace(~ typelink ~ $行{ 'typelink},linkokstr美元);
linkokstr美元= str_replace(~ typename ~ $行{ 'typename},linkokstr美元);
liketype = linkokstr美元美元;
}
}其他
{
{ } =美元'typelink排排'typeurl } = {美元的getonetypeurla(合排);
如果(is_array($ DTP2 -> CTags))
{
foreach($ DTP2 ->下tagid美元= > $ CTAg){
如果(isset($行{ $标签-> getName()))))
{
$ DTP2 ->分配(tagid美元美元,排{ $标签-> GetName()});
}
(preg_match(&lsquo; / ^ sonchannel { 0-9 } * $ / rsquo;$标签-> GetName()))
{
美元($ tagid DTP2 ->分配,lib_channel_son(CTAG美元美元,排{ 'id' },dsql2美元));
}
}
}
liketype美元(约合DTP2 -> getResult);
}
}
如果(美元关口> 1)liketype美元= R;;
'autoindex'} { $ = + +;
循环队列
如果($ 1)
{
$ I = $ 1;
liketype美元= R;;
}
为$ i循环
复位($ dsql2);
DSQL -> FreeResult(美元);
返回的liketype;
}
功能lib_channel_son(CTAG typeid = 0美元,美元,美元dsql2)
{
ATTLIST美元= 行| 100,西| 1,currentstyle |;;;;
fillattsdefault($标签-> cattribute ->项目,$ ATTLIST);
提取物($标签-> cattribute ->项目,extr_skip);
元标签-> getinnertext innerText = $();
dsql3 =克隆dsql2美元美元;
liketype美元=;;
/ /如果($ _sys_globals { 'typeid} > 0){ 'typeid typeid =美元美元_sys_globals};
如果($ typeid = = 0){
返回;;
}
为SQL = 选择ID,typename,typedir,isdefault,属于语法,namerule2,moresite,siteurl。
从ying_arctype瑞德= rsquo;typeidrsquo美元;和隐藏的<> 1阶的sortrank ASC限制0,;;
/ /身份<> typeidrsquo美元';
新dedetagparse DTP2美元=();
$ DTP2 -> setnamespace(field{
$ DTP2 -> LoadSource($ innerText);
dsql2美元-> setquery($ SQL);
dsql2美元->执行();
$行= $行;
($ i = 0;$ i $ $行;$ + +)
{
如果(美元关口> 1)liketype美元= R;;
为($ = 0;$ j $;
{
如果(美元关口> 1)liketype美元= R;;
如果($行= dsql2美元-> GetArray())
{
{ } =美元'typelink排排'typeurl } = {美元的getonetypeurla(合排);
If (is_array ($dtp2->CTags))
{
foreach($ DTP2 ->下tagid美元= > $ CTAg){
如果(isset($行{ $标签-> getName()))))
{
$ DTP2 ->分配(tagid美元美元,排{ $标签-> GetName()});
}
(preg_match(&lsquo; / ^ sonchannel { 0-9 } * $ / rsquo;$标签-> GetName()))
{
美元($ tagid DTP2 ->分配,lib_channel_son(CTAG美元美元,排{ 'id' },dsql3美元));
}
}
}
liketype美元(约合DTP2 -> getResult);
}
如果(美元关口> 1)liketype美元= R;;
循环队列
如果($ 1)
{
$ I = $ 1;
liketype美元= R;;
}
为$ i循环
复位($ dsql3);
dsql2美元-> FreeResult();
返回的liketype;
}
>

{场:sonchannel0 } { /领域:sonchannel0 }调用的模板,这是用来把孩子与柱(使用{ }为sonchannel +数字标签名称防止嵌套不能正确解析标签),这种效果是当你有很多栏目无限级栏目方便你把孩子列。例如:

复制代码代码如下所示:

{迪迪:通道式= 'son'typeid = 16}
{场:typename / }

{场:sonchannel0 }
{场:typename / }

{场:sonchannel1 }
{场:typename / }

{场:sonchannel2 }
{场:typename / }

{场:sonchannel3 }
{场:typename / }
{ /领域:sonchannel3 }
{ /领域:sonchannel2 }
{ /领域:sonchannel1 }
{ /领域:sonchannel0 }
{ /迪迪:通道}
上述数字ID typeid大分类,因为在dede官方论坛都没找到,所以发上来,希望能方便和有用的。(Xiaohan bobaiyou)

注:请备份文件的错误修改,上面的代码可能有一些报价和自动变成全角半角,请修改,或者你可以找到这个文件修改Xiaohan。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部