演示场景所使用的HkCms版本是:v2.3.0.230813,后续版本有新的解决方案。

1. 场景描述

在列表页面,一级栏目点击进入下级栏目,下级栏目在进入到下级栏目,这个时候想要当前栏目最顶级栏目的下级栏目列表以及下级栏目的循环获取是怎么获取的。

方案如下,我们可以获取最顶级栏目信息,然后获取顶级栏目信息的子栏目列表,在通过嵌套hkcms:channel标签继续往下级获取。

{php}$topCateId = get_category_top($Cate['id']);{/php}

2. 示例代码

<!--获取顶级栏目信息-->
{php}$topCateId = get_category_top($Cate['id']);{/php}
<ul class="demo-ul">
<!--获取栏目的下级栏目-->
{hkcms:channel name="$topCateId['id']" type="son" ismenu="1" id="item"}
{if $item.has_child}
<!-- 有下级继续获取-->
<li><a href="{$item.url}">{$item.title}</a></li>
<li>
<ul>
<!-- 获取下级时要留意id参数,嵌套标签时需要重新取名防止与上面栏目标签重名-->
{hkcms:channel name="$item['id']" type="son" ismenu="1" id="fields"}
<li><a href="{$fields.url}">{$fields.title}</a></li>
{/hkcms:channel}
</ul>
</li>
{else /}
<!--没有下级栏目的显示效果-->
<li><a href="{$item.url}">{$item.title}</a></li>
{/if}
{/hkcms:channel}
</ul>


1.jpg