织梦DedeCMS channelartlist标签调用当前栏目同级栏目列表教程

在织梦DedeCMS开发中,经常需要在列表页或内容页调用当前栏目的同级栏目列表。默认的channelartlist标签无法直接实现此功能,需要修改核心文件并配合特定标签调用方式。

修改核心文件实现同级栏目调用

打开 /include/taglib/channelartlist.lib.php 文件,找到以下代码:

if($typeid==0 || $typeid=='top')

将其修改为:

if($typeid=='reid')
{
global $cfg_Cs;
$tid = $refObj->TypeLink->TypeInfos['id'];
if(!is_array($cfg_Cs)) require_once(DEDEDATA."/cache/inc_catalog_base.inc");
if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0) $topid = $tid;
else $topid = GetTopid($cfg_Cs[$tid][0]);
$tpsql = " reid='$topid' AND ishidden<>1 ";
$order = " ORDER BY sortrank ASC";
}
elseif($typeid==0 || $typeid=='top')

列表页内容页模板调用标签

在模板文件中使用以下代码调用当前栏目的同级栏目列表:

<ul>
{dede:channelartlist typeid=reid}
<h2><a href="{dede:field.typeurl/}">{dede:field.typename/}</a></h2>
{dede:channel type=son noself=yes}
<li><a href="[field:typeurl/]">[field:typename/]</a></li>
{/dede:channel}
{/dede:channelartlist}
</ul>

通过以上修改和调用方式,即可在列表页或内容页中实现显示当前栏目同级栏目的功能,提升网站导航的灵活性和用户体验。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。