27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]
E-mail:mzze@163.com
Q Q:32362389
W X:xiaomi168527
27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]
大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]
E-mail:97157726@qq.com
Q Q:97157726
获取当前栏目一级栏目id的方法度娘搜索到的结果
<?php $bclassid=$class_r[$GLOBALS[navclassid]][bclassid];//获取当前父栏目ID $bbclassid=$class_r[$bclassid][bclassid];//获取当前父栏目的父栏目ID(上上级) ?>
这种调用方式虽然能解决一些问题但是有缺陷,它只支持都是三极栏目的,对于有栏目是三级、有的是二级的,二级的$bbclassid为顶级id0了,但是我们想让他都是一级栏目id;该怎么办呢?
用自定义函数解决它
//取得一级栏目名称函数 www.bbsxiaomi.com function user_GetTopBclassname($classid){ global $class_r; $fr=explode('|',$class_r[$classid][featherclass]); $topbclassid=$fr[1]?$fr[1]:$classid;//取得第一级栏目id $topbclassname=$class_r[$topbclassid][classname];//第一级栏目名称 $cr[classid]=$topbclassid; $topbclassurl=sys_ReturnBqClassname($cr,9); //第一级栏目链接 return "<a href=".$topbclassurl.">".$topbclassname."</a>"; } //取得一级栏目id www.bbsxiaomi.com function user_GetTopBclassid($classid){ global $class_r; $fr=explode('|',$class_r[$classid][featherclass]); $topbclassid=$fr[1]?$fr[1]:$classid; return $topbclassid; } ?>
把以上代码拷贝到e\class\userfun.php中,记得要放在中间位置(放在原来php标签的里面)。
在模板管理 - 标签 - 管理标签 按说明导入标签,如下图(取得一级栏目名称函数)user_GetTopBclassname,取得一级栏目id函数为user_GetTopBclassid
做完上面步骤恭喜您可以在模板里调用了!
<?=user_GetTopBclassname($GLOBALS[navclassid])?> //获取一级栏目和链接 <?=user_GetTopBclassid($GLOBALS[navclassid])?> //获取一级栏目id
高级用法
<?php $bclassid= user_GetTopBclassid($GLOBALS[navclassid]) //自定义函数获取一级栏目id ?> [e:loop={"select classid,classname from {$dbtbpre}enewsclass where bclassid='$bclassid' order by myorder,classid asc",0,24,0}] .... [/e:loop]
本站内容均为小米原创,转载请注明出处:小米技术社区>> 帝国cms如果获取一级栏目id、栏目名和标题