帝国cms7.2中,如何遍历栏目?比如显示一级栏目和他的子栏目。
方法一:利用栏目信息缓存变量数组$class_r实现,看jiuhecai大神给出的代码
<?foreach($class_r as $lm){
if($lm[bclassid]==0){
echo '<li><a href="'.$lm['classpath'].'">'.$lm['classname'].'</a></li>';
foreach($class_r as $lm1){
if($lm1[bclassid]==$lm[classid]){
echo '<li><a href="'.$lm1['classpath'].'">'.$lm1['classname'].'</a></li>';
}
}
}
}?>
这里给出了一级栏目和他们的子栏目。大家知道,一级栏目的特点是bclassid为0
方法二:查询栏目信息表[!db.pre!]enewsclas
<?foreach($class_r as $lm){
if($lm[bclassid]==0){$bclassid=$lm[classid];
echo '<li><a href="'.$lm['classpath'].'">'.$lm['classname'].'</a></li>';
?>
[e:loop={"select classid from [!db.pre!]enewsclass where bclassid='$bclassid' order by classid desc ",0,24}]
<li><a href="<?=$class_r[$bqr[classid]]['classpath']?>"><?=$class_r[$bqr[classid]]['classname']?></a></li>
[/e:loop]
<?
}
}?>
本站原创,转载请注明出处。你是你的医生 我是你的中药方(http://www.zhongyf.com 中药方大全)
假定栏目一id为64
<?foreach($class_r as $lm){
if($lm[bclassid]==64){
$bqr[classid]=$lm['classid'];
$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址
echo '<li><a href="'.$classurl.'">'.$lm['classname'].'</a></li>';
foreach($class_r as $lm1){
if($lm1[bclassid]==$lm[classid]){
$bqr[classid]=$lm1['classid'];
$classurl=sys_ReturnBqClassname($bqr,9);//取得栏目地址
$bgcolor="#FFFFFF";
if($bqr[classid]==$GLOBALS[navclassid])//当前栏目ID
{
$bgcolor="#C3EFFF";
}
echo '<li><a href="'.$classurl.'"><font bgcolor='.$bgcolor.'>'.$lm1['classname'].'</font></a></li>';
}
}
}
}?>
|