dede 子栏目获取上级、顶级栏目的名字和链接

 

在DEDE根目录/include/taglib/下找到channel.lib.php文件找到

else if($type=='self')
{
  if($reid==0) return '';
  $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
   From `dede_arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
}


然后,在此段代码下加入如下代码,为{dede:channel}添加父级(parent)栏目属性


else if($type=='parent')
{
  $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
   From `dede_arctype` where id='$reid'  AND ishidden<>1 order by sortrank asc limit 0, $line ";
}

 

 

然后用下面的就行了

 <!--调用当前栏目的顶级栏目名称-->
     {dede:channel type='parent' }
     [field:typename/]
     {/dede:channel}


dede 子栏目获取上级、顶级栏目的名字和链接

 

 

上面的方法当 当前栏目就是顶级栏目时候会失效,所以需要用到下面的方法【非无限子栏目】

{dede:field.typeid runphp='yes'}$ID = @me; $sql = "SELECT * FROM `dede_arctype` WHERE id=$ID";$query = mysql_query($sql);$row=mysql_fetch_array($query); $relID = "$row[reid]"; if($relID == 0) {@me = $row[typename];}else{$sql = "SELECT `typename` FROM `dede_arctype` WHERE id=$relID";$query = mysql_query($sql);$row=mysql_fetch_array($query); @me = $row[typename];}{/dede:field.typeid}



下面是顶级栏目的ID【非无限子栏目】

{dede:field.typeid runphp='yes'}$ID = @me; $sql = "SELECT * FROM `dede_arctype` WHERE id=$ID";$query = mysql_query($sql);$row=mysql_fetch_array($query); $relID = "$row[reid]"; if($relID == 0) {@me = $row[id];}else{$sql = "SELECT `id` FROM `dede_arctype` WHERE id=$relID";$query = mysql_query($sql);$row=mysql_fetch_array($query); @me = $row[id];}{/dede:field.typeid}


 下面是无限子栏目获取顶级栏目资料的方法,不过下面的实例是获取顶级栏目下,的第二个栏目的方法,不过要获取顶级栏目的话,更简单,所做修改即可。

{dede:field.typeid runphp='yes'}
  $ID = @me; 
  $sql = "SELECT * FROM `dede_arctype` WHERE id=$ID";
  $query = mysql_query($sql);
  $row=mysql_fetch_array($query); 
  $relID = $row[reid]; 
  $jishu;
  
  
  while($relID != 0){
  $jishu = $row[id]; 
  $sql = "SELECT * FROM `dede_arctype` WHERE id=$relID";
  $query = mysql_query($sql);
  $row=mysql_fetch_array($query); 
  $relID = $row[reid]; 
    
  }
  $sql = "SELECT * FROM `dede_arctype` WHERE id=$jishu";
  $query = mysql_query($sql);
  $row=mysql_fetch_array($query); 
  
  
  @me = $row[arcpic];
  
  
{/dede:field.typeid}

下面是无线子栏目,获取一级栏目的“栏目图片”

{dede:field.typeid runphp='yes'}
  $ID = @me; 
  $sql = "SELECT * FROM `dede_arctype` WHERE id=$ID";
  $query = mysql_query($sql);
  $row=mysql_fetch_array($query); 
  $relID = $row[reid]; 
  $jishu;
  
  
  while($relID != 0){
  $jishu = $row[id]; 
  $sql = "SELECT * FROM `dede_arctype` WHERE id=$relID";
  $query = mysql_query($sql);
  $row=mysql_fetch_array($query); 
  $relID = $row[reid];
  }	
  
  $sql = "SELECT * FROM `dede_arctype` WHERE id=$row[id]";
  $query = mysql_query($sql);
  $row=mysql_fetch_array($query); 
  
  
  @me = $row[arcpic];
  
  
{/dede:field.typeid}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值