帝国CMS灵动标签获取通用子栏目数据,及获取同级父栏目下相同名称栏目列表页的数据

具体案例网站栏目共有4级,其中一个工作室栏目下面有9个总科室,下级再分36个小室,每个科室又有18个独立的终极栏目。
有个共性就是:每个科室的18个终极栏目,栏目的名称都是一样的。
工作室首页、列表、内容页的模板结构都是一模一样的,调用对应的科室栏目下不同的数据。
为了避免出现36个首页模板、36个栏目列表页模板、36个...
就需要使用灵动标签,获取通用子栏目数据,及获取同级父栏目下相同名称栏目列表页的数据。

下面整理下实现方法:
封面模板,工作室首页模板:

[e:loop={"select classid, classname, classpath from phome_enewsclass where bclassid='$GLOBALS[navclassid]' and classname='研究课题'",5,24,0,0,0}] [ecmsinfo]$bqr[classid],6,46,0,0,2,0[/ecmsinfo] [/e:loop]

子栏目名称调用:

<?=$class_r[$bqr[classid]]['classname']?>

子栏目链接调用:

<?=$class_r[$bqr[classid]]['classpath']?>

终极栏目列表,获取同父栏目下的同级栏目的数据:

<?php $bclassid=$class_r[$GLOBALS[navclassid]][bclassid]; ?> [e:loop={"select classid, classname, classpath from phome_enewsclass where bclassid='$bclassid' and classname='精品课件'",5,24,0,0,0}] [ecmsinfo]$bqr[classid],6,46,0,0,2,0[/ecmsinfo] [/e:loop]

列表里面用[!--bclass.id--],放在灵动标签内没有作用,定义了一个变量才获取到上级id

另外,在论坛请教了一下,如何获得父目录的父目录名称:

<?php $bclassid=$class_r[$GLOBALS[navclassid]][bclassid]; $bbclassid=$class_r[$bclassid][bclassid]; echo $class_r[$bbclassid][classname]; ?>

本文转自:https://nipang.cn/ecms_skills.html