帮做网络工作室
大多时候我们用帝国CMS仿站需要用到多级栏目导航,但是官方没有具体的实现方法跟教程,所以需要我们自己开发,下面就跟大家分享一下如果用帝国CMS实现多级栏目导航功能。
第一步:找到并打开/e/class/userfun.php文件,此文件是专门给用户添加自定义函数用的,我们可以将自己开发的函数直接放进这个文件里面,一般二次开发都是修改这个文件。
默认情况下这个文件的内容会是下面这样的:
ps:如果有改动请自行将需要添加的代码放在最后面。
<?php
//---------------------------用户自定义标签函数文件
?>
将其修改为如下代码:
<?php
//---------------------------用户自定义标签函数文件
//循环次级栏目函数
function user_ListCats($bclassid) {
global $empire, $dbtbpre;
// classpath 为地址
$sql=$empire->query("select classid, classname, bclassid, islast, classpath, classurl from {$dbtbpre}enewsclass where bclassid='$bclassid' and wburl='' order by myorder,classid");
// 判断是否有类别记录
$num=$empire->num1($sql);
if ($num == 0 && $bclassid == 0)//无记录
{
echo $GLOBALS['notrecordword'];
return "";
}
if ($num == 0)
{
return '';
}
$i = 1;
while ($r=$empire->fetch($sql))
{
// 如果不是终极栏目,显示其子目录
if(empty($r[islast]))
{
echo '<li><a href="' . $r[classpath] . '">' . $r[classname] . '</a>'."\r\n";
echo '<ul>'."\r\n";
user_ListCats($r[classid], $showMore);
echo '</ul>'."\r\n";
echo '</li>'."\r\n";
} else {
echo '<li><a href="' . $r[classpath] . '">' . $r[classname] . '</a></li>'."\r\n";
}
$i += 1;
}
}
?>
修改完成后保存。
第二步:进入帝国CMS后台管理
点击:模板-->标签-->管理标签
点击:【增加标签】按钮
标签名:自己填写
标签符号:myli (当然你也可以填写其他的,在调用时相应的修改下即可)
所属类别:不用改。
函数名:user_ListCats
注意大小写,不可改动,一定要写对。
是否开启标签:选是
填写完成后点击提交按钮。
第三步:在模板需要调用多级导航的地方添加如下代码:
<div>
<ul>
[myli]0,1[/myli]
</ul>
</div>
[myli]0,1[/myli]标签的两个参数说明 :第一个是栏目ID,0为所有栏目,第二个为是否显示多级子栏目,1为显示。0为只显示一级。完成后保存即可,更新首页就会发现有效果了!