channel栏目标签默认有调用*栏目(top)、子栏目(son)、同级栏目(self),那想获取交叉栏目的名称和链接怎么获取呢?
其实在原来的代码上改一下就可以了。下面是具体代码。打开文件channel.lib.php:
在搜索:
$topid = $refObj->TypeLink->TypeInfos['topid'];
在其下方增加:
$crossid = $refObj->TypeLink->TypeInfos['crossid'];
再搜索:
$topid = $row2['topid'];
在其下方增加:
$crossid = $row2['crossid'];
然后再查找:
else if($type=='son')
{
if($typeid==0) return '';
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `#@__arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";
}
在下方增加:
else if($type=='cross')
{
if($typeid==0) return '';
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,crossid
From `#@__arctype` WHERE id in ($crossid) And ishidden<>1 order by sortrank asc limit 0, $line ";
}
如此修改之后就可以在模板上使用了。
模板代码为:
{dede:channel type='cross'}
<a href='[field:typelink /]' title="[field:typename/]" >[field:typename/]</a>
{/dede:channel}
这样就可以使用了。