dede在任一子级栏目获取顶级栏目名称 typename,包括该顶级栏目下
找到 include/taglib/type.lib.php , 复制, 重命名为 toptype.lib.php
查找 function lib_type(&$ctag,&$refObj)
修改为:
function lib_toptype(&$ctag,&$refObj)
查找 $row = $dsql->GetOne
注释掉 //$row = $dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$typeid' ");
添加3行:
$topid=$dsql->GetOne("Select topid From `dede_arctype` where id='$typeid' ");
$topid=$topid['topid'];
$row=$dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$topid' ");
模板调用: {dede:toptype}[field:typename/]{/dede:toptype}
修改后的toptype.lib.php
<?php
if
(!defined(
'DEDEINC'
))
exit
(
'Request Error!'
);
function
lib_toptype(&
$ctag
,&
$refObj
)
{
global
$dsql
,
$envs
;
$attlist
=
'typeid|0'
;
FillAttsDefault(
$ctag
->CAttribute->Items,
$attlist
);
extract(
$ctag
->CAttribute->Items, EXTR_SKIP);
$innertext
= trim(
$ctag
->GetInnerText());
if
(
$typeid
==0) {
$typeid
= ( isset(
$refObj
->TypeLink->TypeInfos[
'id'
]) ?
$refObj
->TypeLink->TypeInfos[
'id'
] :
$envs
[
'typeid'
] );
}
if
(
empty
(
$typeid
))
return
''
;
//$row = $dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$typeid' ");
$topid
=
$dsql
->GetOne(
"Select topid From `dede_arctype` where id='$typeid' "
);
$topid
=
$topid
[
'topid'
];
$row
=
$dsql
->GetOne(
"Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$topid' "
);
if
(!
is_array
(
$row
))
return
''
;
if
(
$row
[
'topid'
]==0){
$row
[
'topid'
]=
$row
[
'id'
];}
if
(trim(
$innertext
)==
''
)
$innertext
= GetSysTemplets(
"part_type_list.htm"
);
$dtp
=
new
DedeTagParse();
$dtp
->SetNameSpace(
'field'
,
'['
,
']'
);
$dtp
->LoadSource(
$innertext
);
if
(!
is_array
(
$dtp
->CTags))
{
unset(
$dtp
);
return
''
;
}
else
{
$row
[
'typelink'
] =
$row
[
'typeurl'
] = GetOneTypeUrlA(
$row
);
foreach
(
$dtp
->CTags
as
$tagid
=>
$ctag
)
{
if
(isset(
$row
[
$ctag
->GetName()]))
$dtp
->Assign(
$tagid
,
$row
[
$ctag
->GetName()]);
}
$revalue
=
$dtp
->GetResult();
unset(
$dtp
);
return
$revalue
;
}
}
?>
如果想获取任一栏目的上级栏目,可将topid---->改为--->reid,最后记得改函数名和文件名
retype.lib.php
<?php
if
(!defined(
'DEDEINC'
))
exit
(
'Request Error!'
);
function
lib_retype(&
$ctag
,&
$refObj
)
{
global
$dsql
,
$envs
;
$attlist
=
'typeid|0'
;
FillAttsDefault(
$ctag
->CAttribute->Items,
$attlist
);
extract(
$ctag
->CAttribute->Items, EXTR_SKIP);
$innertext
= trim(
$ctag
->GetInnerText());
if
(
$typeid
==0) {
$typeid
= ( isset(
$refObj
->TypeLink->TypeInfos[
'id'
]) ?
$refObj
->TypeLink->TypeInfos[
'id'
] :
$envs
[
'typeid'
] );
}
if
(
empty
(
$typeid
))
return
''
;
//$row = $dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$typeid' ");
$reid
=
$dsql
->GetOne(
"Select reid From `dede_arctype` where id='$typeid' "
);
$reid
=
$reid
[
'reid'
];
$row
=
$dsql
->GetOne(
"Select id,reid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$reid' "
);
if
(!
is_array
(
$row
))
return
''
;
if
(
$row
[
'reid'
]==0){
$row
[
'reid'
]=
$row
[
'id'
];}
if
(trim(
$innertext
)==
''
)
$innertext
= GetSysTemplets(
"part_type_list.htm"
);
$dtp
=
new
DedeTagParse();
$dtp
->SetNameSpace(
'field'
,
'['
,
']'
);
$dtp
->LoadSource(
$innertext
);
if
(!
is_array
(
$dtp
->CTags))
{
unset(
$dtp
);
return
''
;
}
else
{
$row
[
'typelink'
] =
$row
[
'typeurl'
] = GetOneTypeUrlA(
$row
);
foreach
(
$dtp
->CTags
as
$tagid
=>
$ctag
)
{
if
(isset(
$row
[
$ctag
->GetName()]))
$dtp
->Assign(
$tagid
,
$row
[
$ctag
->GetName()]);
}
$revalue
=
$dtp
->GetResult();
unset(
$dtp
);
return
$revalue
;
}
}
?>
模板调用: {dede:retype}[field:typename/]{/dede:retype}
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(984818011)进行交流。
- 织梦DedeCMS内容模型里面将系统模型改成自动模型
- 织梦DedeCMS默认图集内容页模板去掉自动播放的方法
- 织梦{dede:flink}友情链接标签支持limit属性的方法
- 织梦DedeCMS栏目页分页标题Title添加“第N页”的方法
- 织梦DedeCMS 5.7图集点击图片进入下一篇的修改方法
- DEDECMS织梦模板点赞功能教程
- 织梦dedecms支持短信验证发送解决方案
- dedecms织梦图集上传图片自动获取图片名做注释
- 织梦栏目分页标签获取单独超链接
- 织梦dede:channel标签的支持autoindex数字递增调用方
- dedecms织梦点击数过千、万、亿的写法
- dedecms列表页面第一个文章与其他文章不同样式