用帝国自定义标签实现当前栏目高亮

准备用帝国自定义列表功能做几个专题,但是发现没办法调用自定义列表的当前ID,在帝国论坛也没找到合适的答案。于是百度了一下,在这里找到了。不敢独食,马上发来和大家分享。这里需要修改底层文件functions.php来实现,凡是需要修改底层文件,都要备份或者做个记录,方便以后程序升级。

下面介绍一个自定义的标签来实现[!–newsnav–]
的效果,如果想修改就好弄了
第一步:在e/class/userfun.php中加入下面的函数,函数只有一个参数,就是当前ID

一番测试下来,雪①找到了自己觉得方便的方法, 特记录在此。
1、因为要用到自定义标签,所以首先要在eclassuserfun.php
加入一个自定义函数, 即

找到e/class/functions.php文件,查找//生成信息列表,修改$GLOBALS[navclassid]=$classid;为$GLOBALS[navclassid]=$enews==4?$userlistr[listid]:$classid;
,保存上传即可,记得注意编码。

复制代码代码如下:
//当前位置导航
function user_linknav($classid)
{
global $empire,$dbtbpre;
$query=”select classname,bclassid,classpath from {$dbtbpre}enewsclass
where classid=”.$classid;
$sql=$empire->query($query);
//echo “首 页”;
while($r=$empire->fetch($sql))
{
findparent($r[bclassid]);
echo
” > “.$r[classname].””;
}
}
//当前位置导航,递归查询父栏目
function findparent($classid)
{
global $empire,$dbtbpre;
$query=”select classname,bclassid,classpath from {$dbtbpre}enewsclass
where classid=”.$classid;
$sql=$empire->query($query);
while($r=$empire->fetch($sql))
{
findparent($r[bclassid]);
echo
” > “.$r[classname].””;
}
}

复制代码代码如下:
//取得顶级栏目ID函数
function user_GetTopBclassid($classid){
global $class_r;
$fr=explode(‘|’,$class_r[$classid][featherclass]);
$topbclassid=$fr[1]?$fr[1]:$classid;//取得第一级栏目id
return $topbclassid;
}

然后在自定义列表的模版中使用?=$GLOBALS[navclassid]?就可以调用出当前自定义列表的ID了。该功能可以用来给当前自定义列表的某个地方加上特殊样式等等。如作者提到的例子:

第二步:在模块管理中添加标签,标签符号为linknav,函数名为
user_linknav,标签的格式为[linknav]栏目ID[/linknav]
第三步:添加模板变量 nav,内容为 ”
您当前的位置: [linknav]$GLOBALS[navclassid][/linknav] ”

2、接下来用灵动标签调用导航部分,用=user_GetTopBclassid($GLOBALS[navclassid])?>动态获取当前栏目id以及父栏目id。

用户用自定义列表功能创建了大量的自定义列表,然后在这些自定义列表中要获取到同分类自定义列表名称,并且当前栏目名称的样式要加上特定的CSS样式。

最后。您只需要在模板中调用模板变量[!–temp.nav–]
即可。。。。。。。。。具体样式可以吧 [!–temp.nav–]
放在一个div中。然后设置div的样式即可,也可以修改userfun下面的函数。。函数很简单。就是根据当前栏目向上递归查询

复制代码代码如下:

[e:loop={'select listid,listname,filepath from [!db.pre!]enewsuserlist where classid=1′,100,24}]li?=($bqr[listid]==$GLOBALS[navclassid]?’ class=”this”‘:”)??=$bqr[listname]?/li[/e:loop]
  • 首页
  • “>=$bqr[classname]?>
You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图