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

在 PHPCMS 中,调用当前栏目下的子栏目列表是一个常见的需求,尤其在制作导航或分类页面时。可以通过系统内置的 get 标签结合 SQL 查询来实现。
1. 使用 get 标签获取当前栏目的子栏目
在模板文件中(如 category.html 或 list.html),使用以下代码调用当前栏目下的子栏目:
{pc:get sql="SELECT * FROM v9_category WHERE parentid=$catid AND siteid=$siteid"}
{loop $data $r}
{$r[catname]}
{/loop}
{/pc}
说明:
- $catid:当前栏目的 ID,PHPCMS 模板中自动可用。
- $siteid:站点 ID,确保只获取当前站点的栏目。
- v9_category:栏目表名,若表前缀不同请替换为实际前缀(如 phome_category)。
2. 判断是否存在子栏目
有时需要先判断当前栏目是否有子栏目,避免输出空列表:
{pc:get sql="SELECT * FROM v9_category WHERE parentid=$catid AND siteid=$siteid" return="subcats"}
{if $subcats}
- {$r[catname]}
{loop $subcats $r}
{/loop}
{else}
暂无子栏目
本系统使用的是XDcms内核,在原来基础上做来相应修改 前台修改调用数据,可以使用{loop catid=栏目ID}{/loop}方式调用 主要功能: A、内容管理模型,自定义字段,更方便扩展功能。自带模型:单页模型、新闻模型、产品模型、招聘模型 B、栏目自定义,便于内容管理 C、内容模块化,二次开发更便捷。自带模块:幻灯片、QQ客服、友情链接、自定义表单(在线留言、简历管理) D、模板管理,后台
立即学习“PHP免费学习笔记(深入)”;
{/if}
{/pc}
3. 调用顶级栏目下的子栏目(可选)
如果想调用顶级栏目(parentid=0)的子栏目,只需将 $catid 替换为 0:
{pc:get sql="SELECT * FROM v9_category WHERE parentid=0 AND siteid=$siteid"}
{loop $data $r}
{$r[catname]}
{/loop}
{/pc}
基本上就这些。只要确保变量和表名正确,就能正常显示子栏目列表。










