答案:在PHPCMS中通过get标签调用当前栏目子栏目,使用$catid和$siteid参数查询v9_category表,可结合loop循环输出子栏目链接,并判断subcats是否存在以避免空输出,顶级栏目则将parentid设为0。

在 PHPCMS 中,调用当前栏目下的子栏目列表是一个常见的需求,尤其在制作导航或分类页面时。可以通过系统内置的 get 标签结合 SQL 查询来实现。
在模板文件中(如 category.html 或 list.html),使用以下代码调用当前栏目下的子栏目:
{pc:get sql="SELECT * FROM v9_category WHERE parentid=$catid AND siteid=$siteid"}
{loop $data $r}
zuojiankuohaophpcna href="{$r[url]}">{$r[catname]}</a>
{/loop}
{/pc}
说明:
- $catid:当前栏目的 ID,PHPCMS 模板中自动可用。
- $siteid:站点 ID,确保只获取当前站点的栏目。
- v9_category:栏目表名,若表前缀不同请替换为实际前缀(如 phome_category)。
有时需要先判断当前栏目是否有子栏目,避免输出空列表:
{pc:get sql="SELECT * FROM v9_category WHERE parentid=$catid AND siteid=$siteid" return="subcats"}
{if $subcats}
<ul>
{loop $subcats $r}
<li><a href="{$r[url]}">{$r[catname]}</a></li>
{/loop}
</ul>
{else}
<p>暂无子栏目</p>
{/if}
{/pc}
如果想调用顶级栏目(parentid=0)的子栏目,只需将 $catid 替换为 0:
立即学习“PHP免费学习笔记(深入)”;
{pc:get sql="SELECT * FROM v9_category WHERE parentid=0 AND siteid=$siteid"}
{loop $data $r}
<a href="{$r[url]}">{$r[catname]}</a>
{/loop}
{/pc}
基本上就这些。只要确保变量和表名正确,就能正常显示子栏目列表。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号