查看: 94|回复: 0

[教程] 织梦DEDECMS中增加父栏目调用,以及多级支持currentstyle的方法

[复制链接]

2

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-3-5
发表于 2023-8-28 00:00:00 | 显示全部楼层 |阅读模式

因为本人需要,自己就动手修改了其中代码,拿来分享,能用到的朋友可以借鉴一下! 
\include\inc_typelink.php 
1、在这段代码后(大概263行) 
if($reID==0 && $typeid>0){ 
$dbrow = $this->dsql->GetOne("Select reID From dede_arctype where ID='$typeid' "); 
if(is_array($dbrow)) $reID = $dbrow['reID']; 

增加 
// 新增代码 
if($reID>0){ 
$dbrow = $this->dsql->GetOne("Select reID From dede_arctype where ID='$reID'"); 
if(is_array($dbrow)) $parentID = $dbrow['reID']; 

// 新增代码结束结束 
2、然后在以下代码后: 
else if($typetype=="self"){ 
$sql = "Select ID,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl From dede_arctype where reID='$reID' And ishidden<>1 order by sortrank asc limit 0,$row"; 

增加 
else if($typetype=="parent"){ //新增代码 获得上级栏目 
$sql = "Select ID,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl From dede_arctype where reID='$parentID' And ishidden<>1 order by sortrank asc limit 0,$row"; 

//新增代码结束 获得上级栏目 
3、修改下面一句代码 
if($row['ID']=="$typeid" && $myinnertext != ''){ 
修改为: 
if(($row['ID']=="$typeid" || $row['ID']=="$reID" || $row['ID']=="$parentID") && $myinnertext != ''){ 
经过3个步骤的修改 
可以实现2个功能: 
1、调用父级栏目(上级),对于栏目分级太深的很有用 
方法: 
{dede:channel type='parent'}{dede:channel} 
2、可以调用currentstyle,对于栏目分级太深,还想改变当前栏目样式的很有用!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部