[showclasstemp] vs [listshowclass] 帝国CMS标签区别

帝国CMS教程 2026-07-13 11:44:26 6

概览对比

对比项 [showclasstemp] [listshowclass]
后端函数 sys_ShowClassByTemp() sys_ForShowSonClass()
渲染方式 函数内直接拼接模板 调用 sys_GetShowClassMore() 逐条渲染
SQL 查询 固定 bclassid='$classid' 支持 classid in (...)  bclassid='$classid'
多栏目 ID ❌ 不支持 ✅ 支持逗号分隔多个 ID
父级变量 3 个 7 个
子级变量 6 个 6 个

1. 多栏目固定调用

listshowclass 的父栏目 ID 支持逗号分隔传入多个值,例如:

[listshowclass]1,3,5,模板ID,是否显示信息数,显示栏目数[/listshowclass]

可以从多个不相关的栏目同时取子栏目。而 showclasstemp 只能传单个父栏目 ID。

// sys_ForShowSonClass 中的多栏目处理
if(strstr($classid,","))
{
    $where='classid in ('.$classid.')';
}
else
{
    $where="bclassid='$classid'";
}

2. 父级变量差异

listshowclass 的 sys_GetShowClassMore() 比 showclasstemp 多替换了 4 个父栏目变量:

变量 说明 showclasstemp listshowclass
[!--bclassname--] 父栏目名称
[!--bclassurl--] 父栏目链接
[!--bclassid--] 父栏目 ID
[!--bclassimg--] 父栏目图片
[!--bintro--] 父栏目简介
[!--bnum--] 父栏目信息数
[!--bno--] 父栏目序号

showclasstemp 父级变量替换逻辑

// sys_ShowClassByTemp 仅替换 3 个父级变量
$listtemp=str_replace("[!--bclassname--]",$bclassname,$listtemp);
$listtemp=str_replace("[!--bclassurl--]",$bclassurl,$listtemp);
$listtemp=str_replace("[!--bclassid--]",$classid,$listtemp);

listshowclass 父级变量替换逻辑

// sys_GetShowClassMore 额外替换 4 个父级变量
$listtemp=str_replace("[!--bclassname--]",$bcr['classname'],$listtemp);
$listtemp=str_replace("[!--bclassurl--]",$bclassurl,$listtemp);
$listtemp=str_replace("[!--bclassid--]",$bclassid,$listtemp);
$listtemp=str_replace("[!--bclassimg--]",$bclassimg,$listtemp);  // +
$listtemp=str_replace("[!--bintro--]",nl2br($bcr['intro']),$listtemp);  // +
$listtemp=str_replace("[!--bno--]",$bno,$listtemp);  // +
$listtemp=str_replace("[!--bnum--]",$bnum,$listtemp);  // +

3. 子栏目列表变量(两者相同)

变量 说明
[!--classurl--] 子栏目链接
[!--classname--] 子栏目名称
[!--classid--] 子栏目 ID
[!--classimg--] 子栏目图片
[!--intro--] 子栏目简介
[!--num--] 子栏目信息数
[!--no--] 子栏目序号

4. 标签语法(完全相同)

[showclasstemp]父栏目ID,标签模板ID,是否显示栏目信息数,显示栏目数[/showclasstemp]
[listshowclass]父栏目ID,标签模板ID,是否显示栏目信息数,显示栏目数[/listshowclass]

参数说明:

参数 说明
父栏目 ID 0 = 所有一级栏目, selfinfo = 当前栏目下级, 多个 ID 用逗号分隔(仅 listshowclass)
标签模板 ID 后台标签模板 ID
是否显示栏目信息数 0 = 不显示, 1 = 显示
显示栏目数 0 = 不限制

5. 选用建议

场景 推荐标签
显示单个栏目的子栏目(简单导航) showclasstemp 够用
需要同时调用多个栏目的子栏目(组合导航) listshowclass
需要在父级展示图片、简介等信息 listshowclass
只需要栏目名称和链接 两者均可

结论

listshowclass 是增强版,功能上完全覆盖 showclasstemp

  • ✅ 多栏目 ID 支持
  • ✅ 更丰富的父栏目变量
  • ✅ 同一套子栏目变量

简单的单栏目导航两者无差别;需要多栏目组合或展示父栏目更多信息时,优先使用 listshowclass

帝国CMS教程

[showclasstemp] vs [listshowclass] 帝国CMS标签区别

本文详细对比帝国CMS两个栏目调用标签showclasstemp与listshowclass的差异。listshowclass是增强版,支持以逗号分隔传入多个父栏目ID,并提供更丰富的父级变量(如图片、简介、信息数、序号),而showclasstemp仅支持单栏目和三个基本父级变量,两者子栏目变量与标签语法相同。简单的单栏目导航二者均可,需要多栏目组合或展示父级更多信息时,优先选用listshowclass。

帝国CMS 8.0搜索结果页修复:支持灵动标签与标题高亮

帝国CMS 8.0默认搜索结果列表页不支持SQL查询、灵动标签等调用,通过修改e/search/result/index.php,引入函数文件并调整查询,即可正常使用各类标签,同时实现搜索关键词在标题中的红色高亮。本文提供完整可用代码。

帝国CMS图片水印不支持webp格式解决办法

本文为一组PHP图像处理函数,主要实现图片缩放与加水印功能。ResizeImage函数可按指定宽高及比例对图片进行裁剪或缩放,支持jpg、png、gif、webp等格式。imageWaterMark函数可为背景图添加图片或文字水印,支持九种位置定位和透明度控制,兼容多种图片格式。

亲测可用帝国CMS完美无报错Sitemap

一、个人实测踩坑总结最近给帝国CMS站点配置网站地图,踩了一大堆坑,要么报PHP version语法错误,要么XML格式不

帝国CMS图片裁剪Cannot read properties of null (ReloadChangeFilePage)

最近搭建、维护帝国CMS站点的朋友,基本都会遇到一个兼容性bug:新版Chrome/Edge浏览器后台图片裁剪、选择已上

帝国CMS插件

未找到合适的帝国 CMS 成品插件?

如有定制需求,或是想优化现有插件功能,欢迎随时联系沟通。

微信二维码 微信
QQ二维码 QQ

15年开发经验

自己做过站长,深知站长痛点

独立开发

自己编码、测试、维护,不是二道贩子

持续迭代

根据用户真实反馈持续优化

代码透明

核心逻辑清晰,不加密、不混淆

售后保障

提供安装指导和技术支持,随时响应

联系方式

微信 / QQ 即时沟通