织梦做企业网站的时候经常会用到三级栏目,经常需要在文章页调用父级栏目或者父级栏目的上级(*)栏目标题、链接,这就需要做一些小修改。

在/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 "; 
}

在其后添加

else if($type=='topone') 
{ 
if($reid==0) return ''; 
$rowR = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='$typeid' "); 
$topids = $rowR['topid']; 
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 
FROM `dede_arctype` WHERE reid='0' And id='$topids' And ishidden<>1 order by sortrank asc limit 0, $line "; 
} 
else if($type=='fatherlist') 
{ 
$rowR = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='$typeid' "); 
$reid = $rowR['reid']; 
$rowR = $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id='$reid' "); 
$reid = $rowR['reid']; 
$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 type='fatherlist'}父级栏目:[field:typename/][field:typeurl/]{/dede:channel}  

{dede:channel type='topone'}父级的上级栏目:[field:typename/][field:typeurl/] {/dede:channel}