您的位置:首页 > 其它

后台添加导航菜单(可显示或隐藏)

2018-03-21 16:35 435 查看
后台系统设置下面添加:
<TR height=30 class="hoverbg">
<TD class="menutd"><A class=menuChild
href='<{:U("Navs/nlist")}>'
target=main>- 导航设置</A></TD>

</TR>
后台添加控制器NavsAction.class.php:
<?php
class NavsAction extends CommonAction{

public function nlist(){
$m = M("Navs");
import("ORG.Util.Paged");
$count = $m->count();//总条数
$page = new Page($count,20);
$show = $page->show();
// ,lang desc,orderby asc

// $data = $m->field("id,pid,navname,navurl,path,addtime,isshow,lang,orderby,concat(path,'-',id) as bpath")->order('bpath asc,orderby asc')->limit($page->firstRow.','.$page->listRows)->select();
$data = $m->field("id,pid,navname,navurl,path,addtime,isshow,lang,orderby,concat(path,'-',id) as bpath")->order('orderby asc')->limit($page->firstRow.','.$page->listRows)->select();
foreach($data as $key=>$value){
$data[$key]['count']=count(explode('-',$value['bpath']));
}

if($data){
$this->assign("data",$data);
$this->assign("page",$show);
}

//查询条件绑定
// $dataclass = $m->where("isshow=1")->field("id,pid,navname,navurl,lang,path,orderby,concat(path,'-',id) as bpath")->order('bpath asc,orderby asc')->select();
$dataclass = $m->where("isshow=1")->field("id,pid,navname,navurl,lang,path,orderby,concat(path,'-',id) as bpath")->order('orderby asc')->select();

foreach($dataclass as $key=>$value){
$dataclass[$key]['count']=count(explode('-',$value['bpath']));
}

$this->assign('dat',$dataclass);

//语言版本取值
$lang_data = SettingAction::getLang();
$this->assign("lang_data",$lang_data);

$this->display();
}

public function add(){
if(IS_POST){
$m = D("Navs");
if($_POST['navname']==""){
$this->error("栏目名称不能为空");
}else if($_POST['byname']==""){
$this->error("其他名称不能为空");
}

if($m->create()){
$m->addtime=time();
$pid=$_POST['pid'];
if($pid==0){
$m->ischild=0;
}else{
$data['ischild']=1;
M("Navs")->where("id=$pid")->save($data);
}

$add_insert= $m->add();
if($add_insert){
if(isset($_POST['submit1'])){
$this->succ
4000
ess("添加成功",U("Navs/nlist"));
}else{
$nav_insert_id = M("Navs")->where("id=$add_insert")->getField("pid");
$this->success("添加成功",U("Navs/add",array('mark'=>$nav_insert_id)));
}

}else{
$this->error("添加失败");
}
}else{
$this->error($m->getError());
}

}else{

//绑定数据
$m = M("Navs");
$list = $m->field("id,pid,navname,byname,path,concat(path,'-',id) as bpath")->order('bpath')->select();
//dump($list);
foreach($list as $key=>$value){
$list[$key]['count']=count(explode('-',$value['bpath']));
}

//排序
$orderby1 = $m->order("orderby DESC")->limit(1)->find();

if($orderby1){
$orderbydata=$orderby1[orderby]+1;
}else{
$orderbydata=1;
}

$this->assign("alist",$list);
$this->assign("orderbydata",$orderbydata);

//语言版本取值
$lang_data = SettingAction::getLang();
$this->assign("lang_data",$lang_data);

$this->display();
}

}

//信息修改
public function edit(){
if(IS_POST){
$id = trim(I("post.editid"));
$navname = trim(I("post.navname"));
$byname = trim(I("post.byname"));
$navurl = trim(I("post.navurl"));
$isshow = trim(I("post.isshow"));
$lang = trim(I("post.lang"));
$orderby = trim(I("post.orderby"));
$updatetime = time();
$pid = I("post.pid");
$select_mark = I("post.select_mark");

if(isset($id) && $id>0){
if(empty($navname)){
$this->error("栏目名称不能为空");
}else if(empty($byname)){
$this->error("其他名称不能为空");
}
$m = M("Navs");
$data['navname']=$navname;
$data['byname']=$byname;
$data['navurl']=$navurl;
$data['isshow'] = $isshow;
$data['navcontent'] = $_POST['navcontent'];
$data['lang'] = $lang;
$data['orderby'] = $orderby;
$data['pid']=$pid;

//父类栏目
if($pid==0){
$data[path]=0;
}else{
$pid_all_data = M("Navs")->where(array('id'=>$pid))->find();
$data[path]=$pid_all_data[path]."-".$pid_all_data[id];
}
if($select_mark==1){
//递归查询该分类下所有子类ID
$cate = M("Navs")->select();
$child_id = Getcate::getChildsId($cate,$id);
foreach($child_id as $vo){
$id_all_data = M("Navs")->where(array('id'=>$id))->find();
//原子类path
$old_child_path = M("Navs")->where(array('id'=>$vo))->getField("path");
//组合后的子类path
$new_child_path = $data[path].str_replace($id_all_data[path], '', $old_child_path);

M("Navs")->where(array('id'=>$vo))->save(array('path'=>$new_child_path));
}
}

$data['updatetime'] = $updatetime;

if($pid==0){
$data['ischild']=0;
}else{
$data1['ischild']=1;
M("Navs")->where("id=$pid")->save($data1);
}

$where['id']=$id;

if($m->where($where)->limit(1)->save($data)){
$this->success("修改成功",U("Navs/nlist",array('p'=>$_POST[p])));
}else{
$this->error("修改失败");
}
}

}else{
//数据绑定
$m = M("Navs");
$id = I("get.id");

$list = $m->field("id,pid,navname,byname,path,concat(path,'-',id) as bpath")->order('bpath')->select();
//dump($list);
foreach($list as $key=>$value){
$list[$key]['count']=count(explode('-',$value['bpath']));
}

$this->assign("alist",$list);

if(isset($id) && $id>0){
$where['id']=$id;
$data = $m->where($where)->find();
$this->assign("data",$data);
//语言版本取值
$lang_data = SettingAction::getLang();
$this->assign("lang_data",$lang_data);

}
}

$this->display();
}

//删除
public function delete(){
$id = I("get.id");
$m = M("Navs");

$cate = $m->select();
//载入Getcate类
import("@.Class.Getcate");
$childid = Getcate::getChildsId($cate,$id);
$childid[]=$id; //加上当前id

//删除所有下级和当前分类
if ($m->where(array('id'=>array('in',$childid)))->delete()) {
$this->success("删除成功");
}else{
$this->error("删除失败");
}

}

//导航栏目排序
public function orderby(){
if(IS_POST){
$post=$_POST;
if(empty($post) || $post==""){
$this->error("没有数据,不能排序");
}
$orderarr = $post[orderby][order];
$idarr = $post[orderby][id];
for($i=0;$i<count($orderarr);$i++){
$id = $idarr[$i];
$data['orderby']=$orderarr[$i];
M("Navs")->where("id=$id")->save($data);
}
$this->success("排序成功");

}
}

//是否显示
public function isshow(){
$id = I("get.id");
$isshow = I("get.isshow");
$where['id']=$id;
$data['isshow']=$isshow;
$m = M("Navs");
if($m->where($where)->save($data)){
$this->success("操作成功",U("Navs/nlist"));
}

}

//批量删除
public function pldelete(){

$str = I("get.str");
$str = $str."0";//补0
$m = M("Navs");
$where['id']=array("in",$str);
if($m->where($where)->delete()){
echo "1";
}else{
echo "0";
}
}
//批量显示
public function plshow(){

$str = I("get.str");
$str = $str."0";//补0
$m = M("Navs");

$where['id']=array("in",$str);
$data['isshow']=1;
$data['updatetime']=time();
if($m->where($where)->save($data)){
echo "1";
}else{
echo "0";
}
}

//批量隐藏
public function plhidden(){

$str = I("get.str");
$str = $str."0";//补0
$m = M("Navs");

$where['id']=array("in",$str);
$data['isshow']=0;
$data['updatetime']=time();
if($m->where($where)->save($data)){
echo "1";
}else{
echo "0";
}
}

}

?>
后台模板Navs:
add.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>导航栏目添加</title>

<script language="javascript">
var GV = {

JS_ROOT: "__PUBLIC__/Js/",

};
</script>

<load href="__PUBLIC__/Css/admin_style.css" />
<load href="__PUBLIC__/Js/artDialog/skins/default.css" />

<load href="__PUBLIC__/Js/wind.js" />
<load href="__PUBLIC__/Js/jquery.js" />

<script language="javascript">
$(function(){
$(".J_ajax_submit_btn").click(function(){
var navname = $("#navname");
var byname = $("#byname");
if(navname.val()==""){
Wind.use("artDialog", function () {
art.dialog({
id: "error",
icon: "error",
fixed: true,
lock: true,
background: "#CCCCCC",
opacity: 0,
content: "栏目名称不能为空",
cancelVal: '确定',
cancel: function(){
navname.focus();
}
});
});
return false;
}else if(byname.val()==""){
Wind.use("artDialog", function () {
art.dialog({
id: "error",
icon: "error",
fixed: true,
lock: true,
background: "#CCCCCC",
opacity: 0,
content: "其他名称不能为空",
cancelVal: '确定',
cancel: function(){
byname.focus();
}
});
});
return false;
}else{

return true;
}

})
})
</script>

</head>

<body class="J_scroll_fixed">
<div class="wrap J_check_wrap">
<div class="nav">
<ul class="cc">
<li><a href="javascript:void(0)">导航管理</a></li>
<li><a href="javascript:void(0)">栏目添加</a></li>
</ul>
</div>
<div class="h_a">添加导航栏目</div>
<form name="myform" action="<{:U("Navs/add")}>" method="post" class="J_ajaxForm" enctype="multipart/form-data">
<div class="table_full">
<table width="100%" class="table_form contentWrap">
<tbody>
<tr>
<th width="100">栏目名称</th>
<td><input type="text" name="navname" value="" class="input" id="navname" size="30" placeholder="栏目名称"> <font color="#FF0000">*</font></td>
</tr>
<tr>
<th width="100">其他名称</th>
<td><input type="text" name="byname" value="" class="input" id="byname" size="30" placeholder="导航公共名称"> <font color="#FF0000">*</font></td>
</tr>

<tr>
<th width="100">所属父类</th>
<td>
<select name="pid">
<option value="0">/</option>
<foreach name="alist" item="vo">
<if condition="$Think.get.mark eq $vo[id]">
<option selected value="<{$vo.id}>">
<?php
for($i=0;$i<$vo['count'];$i++){
echo "   ";
}
?>
<{$vo.navname}>
</option>
<else />
<option value="<{$vo.id}>">
<?php
for($i=0;$i<$vo['count'];$i++){
echo "   ";
}
?>
<{$vo.navname}>
</option>
</if>
</foreach>
</select>
</td>
</tr>

<tr>
<th width="100">栏目链接</th>
<td><input type="text" name="navurl" value="" class="input" id="navurl" size="30" placeholder="栏目链接"> <font color="#FF0000">*</font></td>
</tr>

<tr>
<th>是否显示</th>
<td>
<select name="isshow">
<option value="1">是</option>
<option value="0">否</option>
</select>
</td>
</tr>

<tr>
<th>语言</th>
<td>
<select name="lang">
<foreach name="lang_data" item="vo">
<option value="<{$vo.lang_val}>"><{$vo.lang_name}></option>
</foreach>
</select>
</td>
</tr>

<tr>
<th>排序</th>
<td><input type="text" name="orderby" id="orderby" class="input" size="30"  placeholder="输入排序:" value="<{$orderbydata}>" /></td>
</tr>

<tr>
<th>备注</th>
<td><textarea name="navcontent"  class="inputtext" style="width:450px;height:100px;" placeholder="该栏目的其他信息:"></textarea></td>
</tr>

</tbody>
</table>
</div>

<div class="btn_wrap" style="z-index:999;">
<div class="btn_wrap_pd">
<button class="btn btn_submit mr10 J_ajax_submit_btn" type="submit" name="submit1" value="ok">确定</button>
<button class="btn btn_submit mr10 J_ajax_submit_btn" type="submit" name="submit2" value="ok">保存并继续添加</button>
</div>
</div>
</form>
</div>
</body>

</html>
edit.php:
deb9
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>修改导航栏目</title>

<script language="javascript">
var GV = {
DIMAUB: "/NewsWeb2/",
JS_ROOT: "__PUBLIC__/Js/",
TOKEN: "{$__token__}"
};
</script>

<load href="__PUBLIC__/Css/admin_style.css" />
<load href="__PUBLIC__/Js/artDialog/skins/default.css" />

<load href="__PUBLIC__/Js/wind.js" />
<load href="__PUBLIC__/Js/jquery.js" />
<load href="__PUBLIC__/Css/cloud-zoom.css" />
<load href="__PUBLIC__/Js/cloud-zoom.1.0.2.min.js" />

<script type="text/javascript" charset="utf-8" src="__PUBLIC__/Js/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="__PUBLIC__/Js/ueditor/ueditor.all.min.js"> </script>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<script type="text/javascript" charset="utf-8" src="__PUBLIC__/Js/ueditor/lang/zh-cn/zh-cn.js"></script>

<style type="text/css">
/* zoom-section */
.zoom-section{clear:both;margin-top:20px;}
*html .zoom-section{display:inline;clear:both;}

.zoom-small-image{border:4px solid #CCC;float:left;margin-bottom:0px;}
</style>
<script language="javascript">
$(function(){
$(".J_ajax_submit_btn").click(function(){
var navname = $("#navname");
var byname = $("#byname");
if(navname.val()==""){
Wind.use("artDialog", function () {
art.dialog({
id: "error",
icon: "error",
fixed: true,
lock: true,
background: "#CCCCCC",
opacity: 0,
content: "栏目名称不能为空",
cancelVal: '确定',
cancel: function(){
navname.focus();
}
});
});
return false;
}
else if(byname.val()==""){
Wind.use("artDialog", function () {
art.dialog({
id: "error",
icon: "error",
fixed: true,
lock: true,
background: "#CCCCCC",
opacity: 0,
content: "其他名称不能为空",
cancelVal: '确定',
cancel: function(){
byname.focus();
}
});
});
return false;
}
else if($("#select_err").val()==1){
Wind.use("artDialog", function () {
art.dialog({
id: "error",
icon: "error",
fixed: true,
lock: true,
background: "#CCCCCC",
opacity: 0,
content: "所属分类不正确",
cancelVal: '确定',
cancel: function(){
$("select[name=pid]").focus();
}
});
});
return false;

}else{

return true;
}

})
})
</script>

<script type="text/javascript">
$(function(){
var pid = "<{$data.pid}>";
var type_id = "<{$data.id}>";
$("select[name='pid']").change(function(){
//判断是否选择为自己
if(this.value==type_id){
alert("操作错误,自己不能作为自己父类");
$("#select_err").val("1");
return false;
}else{
$("#select_err").val("0");
}

})
})
</script>
</head>

<body class="J_scroll_fixed">
<div class="wrap J_check_wrap">
<div class="nav">
<ul class="cc">
<li><a href="javascript:void(0)">导航管理</a></li>
<li><a href="javascript:void(0)">栏目修改</a></li>
</ul>
</div>

<div class="h_a">修改栏目</div>
<form name="myform" action="<{:U("Navs/edit")}>" method="post" class="J_ajaxForm" enctype="multipart/form-data">
<div class="table_full">
<table width="100%" class="table_form contentWrap">
<tbody>
<tr>
<th width="100">栏目名称</th>
<td><input type="text" name="navname" value="<{$data.navname}>" class="input" id="navname" size="30" placeholder="导航名称"> <font color="#FF0000">*</font></td>
</tr>
<tr>
<th width="100">其他名称</th>
<td><input type="text" name="byname" value="<{$data.byname}>" class="input" id="byname" size="30" placeholder="导航公共名称"> <font color="#FF0000">*</font></td>
</tr>

<tr>
<th width="100">所属父类</th>
<td>
<select name="pid">
<option value="0">/</option>
<foreach name="alist" item="vo">
<if condition="$data[pid] eq $vo[id]">
<option value="<{$vo.id}>" selected>
<?php
for($i=0;$i<$vo['count'];$i++){
echo "   ";
}
?>
<{$vo.navname}>
</option>
<else />
<option value="<{$vo.id}>">
<?php
for($i=0;$i<$vo['count'];$i++){
echo "   ";
}
?>
<{$vo.navname}>
</option>
</if>
</foreach>
</select>
<span><input type="checkbox" value="1" name="select_mark">移动 <font color="red"><<<{$data.navname}>>></font> 下所有子栏目</span>
</td>
</tr>

<tr>
<th width="100">栏目链接</th>
<td><input type="text" name="navurl" value="<{$data.navurl}>" class="input" id="navurl" size="30" placeholder="栏目链接"> <font color="#FF0000">*</font></td>
</tr>

<tr>
<th>是否显示</th>
<td>
<select name="isshow">
<if condition="$data.isshow eq 1">
<option value="1">是</option>
<option value="0">否</option>
<else />
<option value="0">否</option>
<option value="1">是</option>
</if>
</select>
</td>
</tr>

<tr>
<th>语言</th>
<td>
<select name="lang">
<foreach name="lang_data" item="vo">
<if condition="$data.lang eq $vo[lang_val]">
<option selected value="<{$vo.lang_val}>"><{$vo.lang_name}></option>
<else />
<option value="<{$vo.lang_val}>"><{$vo.lang_name}></option>
</if>

</foreach>
</select>
</td>
</tr>

<tr>
<th>排序</th>
<td><input type="text" name="orderby" id="orderby" placeholder="输入排序:" class="input" size="30" value="<{$data.orderby}>" /></td>
</tr>

<tr>
<th>备注</th>
<td><textarea name="navcontent"  class="inputtext" style="width:450px;height:100px;" placeholder="该栏目的其他信息:"><{$data.navcontent}></textarea></td>
</tr>
</tbody></table>
</div>
<div class="btn_wrap" style="z-index:999;">
<div class="btn_wrap_pd">
<button class="btn btn_submit mr10 J_ajax_submit_btn" type="submit">确定</button>
<input type="hidden" name="editid" value="<{$data.id}>" />
<input type="hidden" id="select_err" value="0" />
<input type="hidden" name="p" value="<{$Think.get.p}>" />
</div>
</div>
</form>
</div>

</body>

</html>
nlist.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>导航列表</title>
<script language="javascript">
var GV = {

JS_ROOT: "__PUBLIC__/Js/",

};
</script>

<load href="__PUBLIC__/Css/admin_style.css"/>
<load href="__PUBLIC__/Css/admin_style.css" />
<load href="__PUBLIC__/Js/artDialog/skins/default.css" />

<load href="__PUBLIC__/Js/wind.js" />
<load href="__PUBLIC__/Js/jquery.js" />
<load href="__PUBLIC__/Js/ajaxpage.js" />

<script language="javascript">
function ab(){
if(confirm("确定要删除吗?该操作将删除栏目下的所有子栏目!")){
return true;
}else{
return false;
}
}
</script>

</head>

<body class="J_scroll_fixed">
<div class="wrap J_check_wrap">
<div class="nav">
<ul class="cc">
<li><a href="javascript:void(0)">系统设置</a></li>
<li><a href="<{:U('Navs/nlist')}>">导航设置</a></li>
</ul>
</div>
<div class="mb10">
<a href='<{:U("Navs/add")}>' class="btn" title="添加栏目"><span class="add"></span>添加栏目</a>
</div>
<div class="table_list">
<table width="100%" cellspacing="0" >
<thead>
<tr>
<td width="121" align="center">ID</td>
<td width="230" align="left">栏目名称</td>
<td width="242" align="center">路径</td>
<td width="156" align="center">导航链接</td>
<td width="156" align="center">是否显示</td>
<td width="90" align="center" >语言</td>
<td width="303"  align="center">添加时间</td>
<td width="392" align="center">管理操作</td>
</tr>
</thead>
<tbody>
<volist name="data" id="vo">
<tr>
<td align='center'><{$vo.id}></td>
<td align='left'>
<?php
for($i=0;$i<$vo['count'];$i++){
echo "   ";
}
?>
<{$vo.navname}>
</td>
<td align='center'><{$vo.path}></td>
<td align='center'><{$vo.navurl}></td>
<td align='center'>
<if condition="$vo.isshow eq 1">
<font color="green">是</font>
<else />
<font color="red">否</font>
</if>
</td>
<td align="center">
<foreach name="lang_data" item="v">
<if condition="$vo.lang eq $v[lang_val]"><{$v.lang_name}></if>
</foreach>
</td>
<td align='center'><{$vo.addtime|date="Y-m-d H:i:s",###}></td>
<td align='center'><a href="<{:U('Navs/edit',array('id'=>$vo['id'],'p'=>$_GET[p]))}>">修改</a> |

<if condition="$vo.isshow eq 1">
<font color="green"><a href='<{:U("Navs/isshow",array("id"=>$vo[id],"isshow"=>0))}>'>隐藏</a></font> |
<else />
<a style="color:red;" href='<{:U("Navs/isshow",array("id"=>$vo[id],"isshow"=>1))}>'>显示</a> |
</if>

<a onclick="return ab()" class="" href="<{:U('Navs/delete',array('id'=>$vo['id']) ) }>">删除</a> </td>
</tr>
</volist>
</tbody>
</table>
<div class="p10">
<div class="btn_wrap" style="z-index:999;">
<div class="btn_wrap_pd">
<div class="pages"> <span class="ajaxpage"><{$page}></span> </div>
</div>
</div>
</div>
</div>
</div>
<script src="__PUBLIC__/Js/common.js?v"></script>
<script type="text/javascript">

</script>
</body>
</html>
前台公共控制器 CommonAction.class.php:
 1、 有二级栏目(二级栏目加在新闻栏目中)如下:
//导航

$url="Index/index";
$navsdata = M("Navs")->where(array('pid'=>0,'isshow'=>1,'lang'=>$this->lang))->select();
foreach($navsdata as $k=>$vo){
$navsdata[$k][navurl]=str_replace("Index/index",$vo[navurl],$url);
$child=$this->getNewsList2($vo[navname],$this->lang,20,1,0,0);
$navsdata[$k][child]=array_chunk($child,5,true);
}

$this->assign("navsdata",$navsdata);
前台调用:
<!--导航-->
<div class="nav-box">
<div class="w12">
<ul class="nav" onclick="getUrl(arguments[0])">
<volist name="navsdata" id="vo">
<li <if condition="($vo[navname] eq '学院概况') and ($modue_name eq 'About')">class="active"
<elseif condition="($vo[navname] eq '新闻中心') and ($modue_name eq 'News')"/>class="active"
<elseif condition="($vo[navname] eq '院系设置') and ($modue_name eq 'Depart') "/>class="active"
<elseif condition="($vo[navname] eq '合作交流') and ($modue_name eq 'Cooper') "/>class="active"
<elseif condition="($vo[navname] eq '招生在线') and ($modue_name eq 'Enroll') "/>class="active"
<elseif condition="($vo[navname] eq '教育科研') and ($modue_name eq 'Research') "/>class="active"
<elseif condition="($vo[navname] eq '党团园地') and ($modue_name eq 'Party') "/>class="active"
<elseif condition="($vo[navname] eq '校园生活') and ($modue_name eq 'Campus') "/>class="active"</if>>
<a href="<{:U($vo['navurl'])}>" title="<{$vo.navname}>"><{$vo.navname}></a>
<dl class="sub-nav">
<volist name="vo[child]" id="v">
<dd>
<volist name="v" id="vv" key="k">
<if condition="$vo.navname eq '学院概况' ">
<a href="<{:U('About/about',array('tid'=>$vv[id]))}>" title="<{$vv.conclassname}>"><{$vv.conclassname|mb_strimwidth=0,18,'...','utf-8'}></a>
<elseif condition="$vo.navname eq '新闻中心' "/>
<if condition="$vv.conclassname eq '动态新闻' ">
<a href="<{:U('News/dynamic')}>" title="<{$vv.conclassname}>"><{$vv.conclassname|mb_strimwidth=0,18,'...','utf-8'}></a>
<else />
<a href="<{:U('News/newslist',array('tid'=>$vv[id]))}>" title="<{$vv.conclassname}>"><{$vv.conclassname|mb_strimwidth=0,18,'...','utf-8'}></a>
</if>
<elseif condition="$vo.navname eq '院系设置' "/>
<a href="<{:U('Depart/clalist',array('tid'=>$vv[id]))}>" title="<{$vv.conclassname}>"><{$vv.conclassname|mb_strimwidth=0,18,'...','utf-8'}></a>
<elseif condition="$vo.navname eq '合作交流' "/>
<a href="<{:U('Cooper/index',array('tid'=>$vv[id]))}>" title="<{$vv.conclassname}>"><{$vv.conclassname|mb_strimwidth=0,18,'...','utf-8'}></a>
<elseif condition="$vo.navname eq '招生在线' "/>
<a href="<{:U('Enroll/index',array('tid'=>$vv[id]))}>" title="<{$vv.conclassname}>"><{$vv.conclassname|mb_strimwidth=0,18,'...','utf-8'}></a>
<elseif condition="$vo.navname eq '教育科研' "/>
<a href="<{:U('Research/reslist',array('tid'=>$vv[id]))}>" title="<{$vv.conclassname}>"><{$vv.conclassname|mb_strimwidth=0,18,'...','utf-8'}></a>
<elseif condition="$vo.navname eq '党团园地' "/>
<a href="<{:U('Party/partylist',array('tid'=>$vv[id]))}>" title="<{$vv.conclassname}>"><{$vv.conclassname|mb_strimwidth=0,18,'...','utf-8'}></a>
<elseif condition="$vo.navname eq '校园生活' "/>
<a href="<{:U('Campus/camlist',array('tid'=>$vv[id]))}>" title="<{$vv.conclassname}>"><{$vv.conclassname|mb_strimwidth=0,18,'...','utf-8'}></a>
</if>
</volist>
</dd>
</volist>
</dl>
</li>
</volist>
<div class="clear"></div>
</ul>
</div>
</div>
2、 没有二级栏目
//导航
$url="Index/index";
$navsdata = M("Navs")->where(array('pid'=>0,'isshow'=>1,'lang'=>$this->lang))->select();
foreach($navsdata as $k=>$vo){
$navsdata[$k][navurl]=str_replace("Index/index",$vo[navurl],$url);
}

$this->assign("navsdata",$navsdata);
前台调用:
<volist name="navsdata" id="vo">
<li class="dropdown">
<a href="<{:U($vo['navurl'])}>" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false">
<{$vo.navname}><b class="caret"></b>
</a>
<if condition="$vo.navname eq '招商加盟' ">
<ul class="dropdown-menu">
<li><a href="<{:U('Join/index')}>">招商页面</a></li>
<li><a href="<{:U('Join/terminal')}>">终端Si展示</a></li>
</ul>
</if>
</li>
</volist>

数据表tp_navs:
注:在sql编辑器中输入下面代码然后运行即可
CREATE TABLE `tp_navs` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`pid` int(4) DEFAULT '0' COMMENT '父类id',
`navname` varchar(50) DEFAULT '' COMMENT '导航名',
`byname` varchar(50) DEFAULT NULL COMMENT '别名',
`path` varchar(100) DEFAULT '0',
`ischild` tinyint(1) DEFAULT '0',
`navcontent` text COMMENT '备注',
`navurl` varchar(100) DEFAULT '' COMMENT '导航链接',
`isshow` tinyint(1) DEFAULT '0' COMMENT '是否显示',
`lang` tinyint(3) DEFAULT '0' COMMENT '语言',
`orderby` int(8) DEFAULT '0' COMMENT '排序',
`catetype` tinyint(1) DEFAULT '0',
`addtime` varchar(30) DEFAULT '' COMMENT '添加时间',
`updatetime` varchar(30) DEFAULT '' COMMENT '修改时间',
PRIMARY KEY (`id`)
)
数据库连接点击下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: