最近在使用帝国ECMS制作一个教育系统的网站,由于网站的栏目分类和级别非常多。
网站栏目结构工有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];
?>