|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
帝国cms调用栏目下的子栏目函数
本文关键字词:帝国cms函数,帝国cms自定义函数,帝国cms调用子栏目
本标签可以实现传入父栏目id,调用条数,使用模板等值实现调用指定栏目下的子栏目,没官方的标签功能强大,但是使用比官方的方便,不用再做标签模板,很实用!
在userfun.php中加入函数:
- /*调用栏目下的一级子栏目
- $classid为要调用的父栏目id
- $limit为要调用的条数
- $temp为使用的模板({classurl}是栏目连接 {classname}是栏目名称 {bname}是栏目别名)
- */
- function fc_system_classsub1($classid,$limit,$temp=''){
- global $empire,$dbtbpre,$navclassid,$class_r,$public_r,$navinfor;
- $classid=(int)$classid;
- $limit=(int)$limit;
- if(!$classid||!$limit||!$temp){
- return FALSE;
- }else{
- $class_sql=$empire->query('select classid,classname,bname from '.$dbtbpre.'enewsclass where bclassid='.$classid.' and showclass=0 order by myorder limit '.$limit.'');
- while($class_row=$empire->fetch($class_sql)){
- $classurl=sys_ReturnBqClassUrl($class_r[$class_row['classid']]);
- $new_temp=str_replace('{classurl}',$classurl,$temp);
- $new_temp=str_replace('{classname}',$class_row['classname'],$new_temp);
- $new_temp=str_replace('{bname}',$class_row['bname'],$new_temp);
- if($class_r[$navclassid]['bclassid']==$classid && $class_row['classid']!=$navclassid){//同级判断
- $new_temp=preg_replace('/\s+class="[a-zA-Z0-9_\s]+"/','',$new_temp);
- }elseif($class_r[$navclassid]['bclassid']!=$class_row['classid'] && $class_row['classid']!=$navclassid){//子级及内容页判断高亮
- $new_temp=preg_replace('/\s+class="[a-zA-Z0-9_\s]+"/','',$new_temp);
- }
- $classsub1.=$new_temp.PHP_EOL;
- }
- return $classsub1;
- }
- }
复制代码
在模板中调用:- <?=fc_system_classsub1(父栏目ID,调用条数,'使用模板代码,{classurl}是连接的意思,{classname}是栏目名称的意思, {bname}就是栏目别名的意思');?>
复制代码
比如例子1:- <?=fc_system_classsub1(1,9,'<li class="on"><a href="{classurl}">{classname}</a></li>');?>
复制代码
解释:调用父栏目ID1下的子栏目,条数为9,模版为<li class="on"><a href="{classurl}">{classname}</a></li>,模板中调用的是栏目的名字,其中 class="on" 是当前高亮的css类。
例子2:- <?=fc_system_classsub1(1,9,'<li class="on"><a href="{classurl}">{bname}</a></li>');?>
复制代码
解释:这里调用的是栏目别名显示。
其他用法自己可以根据代码再自行修改。 |
|