PHPIN.NET

 找回密码
 立即注册
查看: 5767|回复: 0

[函数] 帝国cms调用栏目的子栏目函数

[复制链接]

469

主题

31

回帖

5497

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5497
发表于 2014-10-14 17:00:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
帝国cms调用栏目下的子栏目函数

本文关键字词:帝国cms函数,帝国cms自定义函数,帝国cms调用子栏目

本标签可以实现传入父栏目id,调用条数,使用模板等值实现调用指定栏目下的子栏目,没官方的标签功能强大,但是使用比官方的方便,不用再做标签模板,很实用!

在userfun.php中加入函数:
  1. /*调用栏目下的一级子栏目
  2. $classid为要调用的父栏目id
  3. $limit为要调用的条数
  4. $temp为使用的模板({classurl}是栏目连接  {classname}是栏目名称 {bname}是栏目别名)
  5. */
  6. function fc_system_classsub1($classid,$limit,$temp=''){
  7. global $empire,$dbtbpre,$navclassid,$class_r,$public_r,$navinfor;
  8. $classid=(int)$classid;
  9. $limit=(int)$limit;
  10. if(!$classid||!$limit||!$temp){
  11. return FALSE;
  12. }else{
  13. $class_sql=$empire->query('select classid,classname,bname from '.$dbtbpre.'enewsclass where bclassid='.$classid.' and showclass=0 order by myorder limit '.$limit.'');
  14. while($class_row=$empire->fetch($class_sql)){
  15. $classurl=sys_ReturnBqClassUrl($class_r[$class_row['classid']]);
  16. $new_temp=str_replace('{classurl}',$classurl,$temp);
  17. $new_temp=str_replace('{classname}',$class_row['classname'],$new_temp);
  18. $new_temp=str_replace('{bname}',$class_row['bname'],$new_temp);
  19. if($class_r[$navclassid]['bclassid']==$classid && $class_row['classid']!=$navclassid){//同级判断
  20. $new_temp=preg_replace('/\s+class="[a-zA-Z0-9_\s]+"/','',$new_temp);
  21. }elseif($class_r[$navclassid]['bclassid']!=$class_row['classid'] && $class_row['classid']!=$navclassid){//子级及内容页判断高亮
  22. $new_temp=preg_replace('/\s+class="[a-zA-Z0-9_\s]+"/','',$new_temp);
  23. }
  24. $classsub1.=$new_temp.PHP_EOL;
  25. }
  26. return $classsub1;
  27. }
  28. }
复制代码

在模板中调用:
  1. <?=fc_system_classsub1(父栏目ID,调用条数,'使用模板代码,{classurl}是连接的意思,{classname}是栏目名称的意思, {bname}就是栏目别名的意思');?>
复制代码


比如例子1:
  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:
  1. <?=fc_system_classsub1(1,9,'<li class="on"><a href="{classurl}">{bname}</a></li>');?>
复制代码

解释:这里调用的是栏目别名显示。

其他用法自己可以根据代码再自行修改。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|PHPIN.NET ( 冀ICP备12000898号-14 )|网站地图

GMT+8, 2024-3-29 22:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表