discuz学习笔记:以easyUI DataGrid为前台进行数据库增查删改操作


    编辑和新增记录的过程,本来想从前台直接向discuz后台传送json格式表单数据,发现discuz的安全过滤十分严格,直接屏蔽了。所以只能以普通方式提交表单数据。


  

\bgtj_crud.php

<?php

/**
 *      [Discuz!] (C)2001-2099 Comsenz Inc.
 *      This is NOT a freeware, use is subject to license terms
 *
 *      $Id: bgtj.php  cuibq $
 */


define('APPTYPEID', 101);
define('CURSCRIPT', 'bgtj');

require './source/class/class_core.php';

$discuz = C::app();

$discuz->reject_robot();
$modarray = array('bgtj', 'bgtj_crud');


$mod = getgpc('mod');
$mod = (empty($mod) || !in_array($mod, $modarray)) ? 'error' : $mod;


$discuz->init();

define('CURMODULE', $mod);

require DISCUZ_ROOT.'./source/module/cat/bgtj_pub_crud.php';
//include_once template("cat/bgtj_publish");
?>

\source\class\table\table_bgtj.php

<?php

/**
 *      [Discuz!] (C)2001-2099 Comsenz Inc.
 *      This is NOT a freeware, use is subject to license terms
 *      工业产品表
 *      $Id: table_gycp.php
 */

if(!defined('IN_DISCUZ')) {
	exit('Access Denied');
}

class table_bgtj extends discuz_table
{
	public function __construct() {

		$this->_table = 'bgtj';
		$this->_pk    = 'id';

		parent::__construct();
	}

	public function fetch_all_by_displayorder() {
		return DB::fetch_all('SELECT * FROM %t ORDER BY id ASC', array($this->_table), $this->_pk);
	}

	public function fetch_all_by_sql($start, $limit) {
		return DB::fetch_all('SELECT * FROM %t ORDER BY id ASC'.DB::limit($start, $limit), array($this->_table), $this->_pk);
	}
	
	//返回json格式数据
	public function fetch_json_by_sql($start, $limit) {
		$query = DB::query('SELECT * FROM %t ORDER BY id ASC'.DB::limit($start, $limit), array($this->_table), $this->_pk);
		
		$result = array();
		
		// 记录数量
		$row = DB::fetch_first('SELECT count(*) as cnt FROM %t ', array($this->_table), $this->_pk); //所有记录数量
		$result["total"] = intval($row['cnt']);

		while($data = DB::fetch($query)){
			$list[] = array(  
				'ID' => $data['ID'],  
				'XH' => $data['XH'],
				'WT' => urlencode($data['WT']),
				'DA' => urlencode($data['DA'])
			);  
		}  
		$result["rows"] = $list;
  
		return urldecode(json_encode($result));  
	}

	//public function fetch_by_id_username($id, $username, $adminid = 1) {
		//return DB::fetch_first('SELECT * FROM %t WHERE id=%d', array($this->_table, $id, $adminid, $username));
	//}

	// 根据id删除一条记录
	public function delete_by_id($id) {

		$delcnt = DB::delete($this->_table, DB::field($this->_pk, $id)); // 返回删除记录数量,若为0表示删除失败

		if ($delcnt == 0) {
			$arr = array ('msg' => 'wrong!', 'success' => false);
		}
		else {
			$arr = array ('msg' => 'ok!', 'success' => true);
		}

		return urldecode(json_encode($arr));

	}

	// 根据id 编辑一条数据
	public function update_by_id($ID, $form_data) {

		$ret = DB::update($this->_table, $form_data,  "ID=$ID");

		$logfile = fopen("log.txt", "w") or die("Unable to open file!");  
		fwrite($logfile, 'ret:'.$ret);  
		fclose($logfile); 

		if ($ret == 0) {
			$arr = array ('msg' => 'wrong!', 'success' => false);
		}
		else {
			$arr = array ('msg' => 'ok!', 'success' => true);
		}

		return urldecode(json_encode($arr));

	}

	// 插入一条数据
	public function insert_data($form_data, $return_insert_id, $replace, $silent) {

		$ret = DB::insert($this->_table, $form_data, $return_insert_id, $replace, $silent);

		$logfile = fopen("log.txt", "w") or die("Unable to open file!");  
		fwrite($logfile, 'ins result:'.$ret);  
		fclose($logfile); 

		if ($ret == 0) {
			$arr = array ('msg' => 'wrong!', 'success' => false);
		}
		else {
			$arr = array ('msg' => 'ok!', 'success' => true);
		}

		return urldecode(json_encode($arr));

	}

	//public function delete_by_ids($ids, $adminid = 1) {
		//if(($ids = dintval((array)$ids, true))) {
			//DB::query('DELETE FROM %t WHERE id IN(%n)', array($this->_table, $ids), false, true);
		//}
	//}

	//public function update_displayorder_by_id_username($id, $displayorder, $username, $adminid = 1) {
		//if(($id = dintval((array)$id, true))) {
			//DB::query('UPDATE %t SET displayorder=%d WHERE id IN(%n)', array($this->_table, $displayorder, $id, $adminid, $username), false, true);
		//}
	//}

	//public function update_by_id_username($id, $data, $username, $adminid = 1) {
		//if(($id = dintval($id, true)) && $data && is_array($data)) {
			//$adminid = dintval($adminid);
			//DB::update($this->_table, $data, DB::field($this->_pk, $id).')', true);
		//}
	//}


}

?>

\source\module\cat\bgtj_pub_crud.php

<?php
// mod文件只能被入口文件引用,不能直接访问
if(!defined('IN_DISCUZ')) {
	exit('Access Denied');
}

require_once libfile('function/discuzcode');

// -------------------------------------------
// 分页
require_once libfile('function/home');

$perpage = empty($_GET['rows'])?0:intval($_GET['rows']);//页码  
$perpage = mob_perpage($perpage);  
  
$page = empty($_GET['page'])?0:intval($_GET['page']);//页码  
if($page<1) $page = 1;  
$start = ($page-1)*$perpage;//开始记录  

//ckstart($start, $perpage);//分页判断  

//$count = C::t('bgtj')->count();//所有记录数量
//$mpurl = 'bgtj.php';
// ============================================

$action = $_GET['ac'];
$action = dhtmlspecialchars($action);



$ID = $_GET['ID'];
$ID = dhtmlspecialchars($ID);

//$querydata = C::t('bgtj')->fetch_all_by_sql($start, $perpage);

//$queryarr = array();
//foreach ($querydata as $rec) {
	//$queryarr[] = $rec;
//}

//$multipage = multi($count, $perpage, $page, $mpurl);


//echo 'aaa:'.$action;
//exit;

//$get_json = C::t('bgtj')->fetch_json_by_sql($start, $perpage);
// 动作请求 ac=g
if ($action == 'g'){ 
	// 取得json格式数据
	$get_json = C::t('bgtj')->fetch_json_by_sql($start, $perpage);
	echo $get_json;
	exit;
}
// 删除一条数据
elseif ($action == 'd') {
	echo C::t('bgtj')->delete_by_id($ID);
	exit;	

}
// 编辑一条数据
elseif ($action == 'e') {
	$XH = dhtmlspecialchars($_GET['XH']);
	$WT = dhtmlspecialchars($_GET['WT']);
	$DA = dhtmlspecialchars($_GET['DA']);

	$form_data = array();
	$form_data['XH'] = $XH;
	$form_data['WT'] = $WT;
	$form_data['DA'] = $DA;

	echo C::t('bgtj')->update_by_id($ID, $form_data);
	exit;	
}
// 插入一条数据
elseif ($action == 'a') {
	$XH = dhtmlspecialchars($_GET['XH']);
	$WT = dhtmlspecialchars($_GET['WT']);
	$DA = dhtmlspecialchars($_GET['DA']);

	$form_data = array();
	$form_data['XH'] = $XH;
	$form_data['WT'] = $WT;
	$form_data['DA'] = $DA;

	$return_insert_id = false;
	$replace = false;
	$silent = false;
	echo C::t('bgtj')->insert_data($form_data, $return_insert_id, $replace, $silent);
	exit;	
}
else {

	//显示发布表单
	include_once template("cat/bgtj_crud");
}
?>

\template\default\cat\bgtj_crud.htm

<!--//说明: 显示公共头部模板-->
<!--{template common/header_cat_edata}-->

<br>


    
    <table id="dg" class="easyui-datagrid" style="width:1000px;height:400px"
		toolbar="#toolbar" idField="ID"
		data-options="
			singleSelect:true,
			collapsible:true,
			url: '/upload/bgtj_crud.php?ac=g',
			pagination:true,
			method:'get',
			" 
            title="公务员常识题库" iconCls="icon-save"
            rownumbers="true" pagination="true">
        <thead>
            <tr>
                <th field="ID" width="50">ID</th>
                <th field="XH" width="50">序号</th>
                <th field="WT" width="500" align="left">问题</th>
                <th field="DA" width="400" align="left">答案</th>
            </tr>
        </thead>
    </table>
    <div id="toolbar">
        <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add" plain="true" οnclick="newUser()">新增</a>
        <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-edit" plain="true" οnclick="editUser()">编辑</a>
        <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-remove" plain="true" οnclick="destroyUser()">删除</a>
    </div>

    <div id="dlg" class="easyui-dialog" style="width:400px"
            closed="true" buttons="#dlg-buttons">
        <form id="fm" method="post" novalidate style="margin:0;padding:20px 50px">
            <div style="margin-bottom:20px;font-size:14px;border-bottom:1px solid #ccc">问题</div>
            <div style="margin-bottom:10px">
                <input name="ID" class="easyui-textbox" required="true" label="ID:" style="width:100%">
            </div>
            <div style="margin-bottom:10px">
                <input name="XH" class="easyui-textbox" required="true" label="序号:" style="width:100%">
            </div>
            <div style="margin-bottom:10px">
                <input name="WT" class="easyui-textbox" required="true" label="问题:" style="width:100%">
            </div>
            <div style="margin-bottom:10px">
                <input name="DA" class="easyui-textbox" required="true" label="答案:" style="width:100%">
            </div>
        </form>
    </div>

    <div id="dlg-buttons">
        <a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" οnclick="saveUser()" style="width:90px">保存</a>
        <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" οnclick="javascript:$('#dlg').dialog('close')" style="width:90px">取消</a>
    </div>

    <script type="text/javascript">
        var url;

		$.fn.serializeObject = function()    
		{    
		   var o = {};    
		   var a = this.serializeArray();    
		   $.each(a, function() {    
			   if (o[this.name]) {    
				   if (!o[this.name].push) {    
					   o[this.name] = [o[this.name]];    
				   }    
				   o[this.name].push(this.value || '');    
			   } else {    
				   o[this.name] = this.value || '';    
			   }    
		   });    
		   return o;    
		};  

        function newUser(){
            $('#dlg').dialog('open').dialog('center').dialog('setTitle','新增');
            $('#fm').form('clear');
            url = '/upload/bgtj_crud.php?ac=a';
        }

        function editUser(){
            var row = $('#dg').datagrid('getSelected');
            if (row){
                $('#dlg').dialog('open').dialog('center').dialog('setTitle','编辑');
                $('#fm').form('load',row);
                url = '/upload/bgtj_crud.php?ac=e&ID='+row.ID;
            }
        }

        function saveUser(){

            $('#fm').form('submit',{
                url: url,
                onSubmit: function(){
                    return $(this).form('validate');
                },
                success: function(result){
                    var result = eval('('+result+')');
                    if (result.errorMsg){
                        $.messager.show({
                            title: 'Error',
                            msg: result.errorMsg
                        });
                    } else {
                        $('#dlg').dialog('close');        // close the dialog
                        $('#dg').datagrid('reload');    // reload the user data
                    }
                }
            });
        }

        function destroyUser(){
            var row = $('#dg').datagrid('getSelected');
            if (row){
                $.messager.confirm('请确认','您真的要删除这条记录吗?',function(r){
                    if (r){
                        $.post('/upload/bgtj_crud.php?ac=d',{ID:row.ID},function(result){
                            if (result.success){
                                $('#dg').datagrid('reload');    // reload the user data
                            } else {
                                $.messager.show({    // show error message
                                    title: '出错啦',
                                    msg: result.errorMsg
                                });
                            }
                        },'json');
                    }
                });
            }
        }



    </script>


<!--//说明: 显示公共尾部模板-->
<!--{template common/footer}-->

\template\default\common\header_cat.htm

<!--{subtemplate common/header_common}-->
	<meta name="application-name" content="$_G['setting']['bbname']" />
	<meta name="msapplication-tooltip" content="$_G['setting']['bbname']" />
	<!--{if $_G['setting']['portalstatus']}--><meta name="msapplication-task" content="name=$_G['setting']['navs'][1]['navname'];action-uri={echo !empty($_G['setting']['domain']['app']['portal']) ? 'http://'.$_G['setting']['domain']['app']['portal'] : $_G[siteurl].'portal.php'};icon-uri={$_G[siteurl]}{IMGDIR}/portal.ico" /><!--{/if}-->
	<meta name="msapplication-task" content="name=$_G['setting']['navs'][2]['navname'];action-uri={echo !empty($_G['setting']['domain']['app']['forum']) ? 'http://'.$_G['setting']['domain']['app']['forum'] : $_G[siteurl].'forum.php'};icon-uri={$_G[siteurl]}{IMGDIR}/bbs.ico" />
	<!--{if $_G['setting']['groupstatus']}--><meta name="msapplication-task" content="name=$_G['setting']['navs'][3]['navname'];action-uri={echo !empty($_G['setting']['domain']['app']['group']) ? 'http://'.$_G['setting']['domain']['app']['group'] : $_G[siteurl].'group.php'};icon-uri={$_G[siteurl]}{IMGDIR}/group.ico" /><!--{/if}-->
	<!--{if helper_access::check_module('feed')}--><meta name="msapplication-task" content="name=$_G['setting']['navs'][4]['navname'];action-uri={echo !empty($_G['setting']['domain']['app']['home']) ? 'http://'.$_G['setting']['domain']['app']['home'] : $_G[siteurl].'home.php'};icon-uri={$_G[siteurl]}{IMGDIR}/home.ico" /><!--{/if}-->
	<!--{if $_G['basescript'] == 'forum' && $_G['setting']['archiver']}-->
		<link rel="archives" title="$_G['setting']['bbname']" href="{$_G[siteurl]}archiver/" />
	<!--{/if}-->
	<!--{if !empty($rsshead)}-->$rsshead<!--{/if}-->
	<!--{if widthauto()}-->
		<link rel="stylesheet" id="css_widthauto" type="text/css" href='{$_G['setting']['csspath']}{STYLEID}_widthauto.css?{VERHASH}' />
		<script type="text/javascript">HTMLNODE.className += ' widthauto'</script>
	<!--{/if}-->
	<!--{if $_G['basescript'] == 'forum' || $_G['basescript'] == 'group'}-->
		<script type="text/javascript" src="{$_G[setting][jspath]}forum.js?{VERHASH}"></script>
	<!--{elseif $_G['basescript'] == 'home' || $_G['basescript'] == 'userapp'}-->
		<script type="text/javascript" src="{$_G[setting][jspath]}home.js?{VERHASH}"></script>
	<!--{elseif $_G['basescript'] == 'portal'}-->
		<script type="text/javascript" src="{$_G[setting][jspath]}portal.js?{VERHASH}"></script>
	<!--{/if}-->
	<!--{if $_G['basescript'] != 'portal' && $_GET['diy'] == 'yes' && check_diy_perm($topic)}-->
		<script type="text/javascript" src="{$_G[setting][jspath]}portal.js?{VERHASH}"></script>
	<!--{/if}-->
	<!--{if $_GET['diy'] == 'yes' && check_diy_perm($topic)}-->
		<link rel="stylesheet" type="text/css" id="diy_common" href="{$_G['setting']['csspath']}{STYLEID}_css_diy.css?{VERHASH}" />
	<!--{/if}-->

    <!--cbq-->
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="./easyui/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="./easyui/themes/icon.css">
    <link rel="stylesheet" type="text/css" href="./easyui/themes/color.css">
    <link rel="stylesheet" type="text/css" href="./easyui/demo/demo.css">
    <script type="text/javascript" src="./easyui/jquery.min.js"></script>
    <script type="text/javascript" src="./easyui/jquery.easyui.min.js"></script>
	<!--/cbq-->

</head>

<body id="nv_{$_G[basescript]}" class="pg_{CURMODULE}{if $_G['basescript'] === 'portal' && CURMODULE === 'list' && !empty($cat)} {$cat['bodycss']}{/if}" οnkeydοwn="if(event.keyCode==27) return false;">
	<div id="append_parent"></div><div id="ajaxwaitid"></div>
	<!--{if $_GET['diy'] == 'yes' && check_diy_perm($topic)}-->
		<!--{template common/header_diy}-->
	<!--{/if}-->
	<!--{if check_diy_perm($topic)}-->
		<!--{template common/header_diynav}-->
	<!--{/if}-->
	<!--{if CURMODULE == 'topic' && $topic && empty($topic['useheader']) && check_diy_perm($topic)}-->
		$diynav
	<!--{/if}-->
	<!--{if empty($topic) || $topic['useheader']}-->
		<!--{if $_G['setting']['mobile']['allowmobile'] && (!$_G['setting']['cacheindexlife'] && !$_G['setting']['cachethreadon'] || $_G['uid']) && ($_GET['diy'] != 'yes' || !$_GET['inajax']) && ($_G['mobile'] != '' && $_G['cookie']['mobile'] == '' && $_GET['mobile'] != 'no')}-->
			<div class="xi1 bm bm_c">
			    {lang your_mobile_browser}<a href="{$_G['siteurl']}forum.php?mobile=yes">{lang go_to_mobile}</a> <span class="xg1">|</span> <a href="$_G['setting']['mobile']['nomobileurl']">{lang to_be_continue}</a>
			</div>
		<!--{/if}-->
		<!--{if $_G['setting']['shortcut'] && $_G['member'][credits] >= $_G['setting']['shortcut']}-->
			<div id="shortcut">
				<span><a href="javascript:;" id="shortcutcloseid" title="{lang close}">{lang close}</a></span>
				{lang shortcut_notice}
				<a href="javascript:;" id="shortcuttip">{lang shortcut_add}</a>

			</div>
			<script type="text/javascript">setTimeout(setShortcut, 2000);</script>
		<!--{/if}-->
		<div id="toptb" class="cl">
			<!--{hook/global_cpnav_top}-->
			<div class="wp">
				<div class="z">
					<!--{loop $_G['setting']['topnavs'][0] $nav}-->
						<!--{if $nav['available'] && (!$nav['level'] || ($nav['level'] == 1 && $_G['uid']) || ($nav['level'] == 2 && $_G['adminid'] > 0) || ($nav['level'] == 3 && $_G['adminid'] == 1))}-->$nav[code]<!--{/if}-->
					<!--{/loop}-->
					<!--{hook/global_cpnav_extra1}-->
				</div>
				<div class="y">
					<a id="switchblind" href="javascript:;" οnclick="toggleBlind(this)" title="{lang switch_blind}" class="switchblind">{lang switch_blind}</a>
					<!--{hook/global_cpnav_extra2}-->
					<!--{loop $_G['setting']['topnavs'][1] $nav}-->
						<!--{if $nav['available'] && (!$nav['level'] || ($nav['level'] == 1 && $_G['uid']) || ($nav['level'] == 2 && $_G['adminid'] > 0) || ($nav['level'] == 3 && $_G['adminid'] == 1))}-->$nav[code]<!--{/if}-->
					<!--{/loop}-->
					<!--{if empty($_G['disabledwidthauto']) && $_G['setting']['switchwidthauto']}-->
						<a href="javascript:;" id="switchwidth" οnclick="widthauto(this)" title="{if widthauto()}{lang switch_narrow}{else}{lang switch_wide}{/if}" class="switchwidth"><!--{if widthauto()}-->{lang switch_narrow}<!--{else}-->{lang switch_wide}<!--{/if}--></a>
					<!--{/if}-->
					<!--{if $_G['uid'] && !empty($_G['style']['extstyle'])}--><a id="sslct" href="javascript:;" οnmοuseοver="delayShow(this, function() {showMenu({'ctrlid':'sslct','pos':'34!'})});">{lang changestyle}</a><!--{/if}-->
					<!--{if check_diy_perm($topic)}-->
						$diynav
					<!--{/if}-->
				</div>
			</div>
		</div>

		<!--{if !IS_ROBOT}-->
			<!--{if $_G['uid']}-->
			<ul id="myprompt_menu" class="p_pop" style="display: none;">
				<li><a href="home.php?mod=space&do=pm" id="pm_ntc" style="background-repeat: no-repeat; background-position: 0 50%;"><em class="prompt_news{if empty($_G[member][newpm])}_0{/if}"></em>{lang pm_center}</a></li>
				<li><a href="home.php?mod=follow&do=follower"><em class="prompt_follower{if empty($_G[member][newprompt_num][follower])}_0{/if}"></em><!--{lang notice_interactive_follower}-->{if $_G[member][newprompt_num][follower]}($_G[member][newprompt_num][follower]){/if}</a></li>
				<!--{if $_G[member][newprompt] && $_G[member][newprompt_num][follow]}-->
					<li><a href="home.php?mod=follow"><em class="prompt_concern"></em><!--{lang notice_interactive_follow}-->($_G[member][newprompt_num][follow])</a></li>
				<!--{/if}-->
				<!--{if $_G[member][newprompt]}-->
					<!--{loop $_G['member']['category_num'] $key $val}-->
						<li><a href="home.php?mod=space&do=notice&view=$key"><em class="notice_$key"></em><!--{echo lang('template', 'notice_'.$key)}-->(<span class="rq">$val</span>)</a></li>
					<!--{/loop}-->
				<!--{/if}-->
				<!--{if empty($_G['cookie']['ignore_notice'])}-->
					<li class="ignore_noticeli"><a href="javascript:;" οnclick="setcookie('ignore_notice', 1);hideMenu('myprompt_menu')" title="{lang temporarily_to_remind}"><em class="ignore_notice"></em></a></li>
				<!--{/if}-->
			</ul>
			<!--{/if}-->
			<!--{if $_G['uid'] && !empty($_G['style']['extstyle'])}-->
				<div id="sslct_menu" class="cl p_pop" style="display: none;">
					<!--{if !$_G[style][defaultextstyle]}--><span class="sslct_btn" οnclick="extstyle('')" title="{lang default}"><i></i></span><!--{/if}-->
					<!--{loop $_G['style']['extstyle'] $extstyle}-->
						<span class="sslct_btn" οnclick="extstyle('$extstyle[0]')" title="$extstyle[1]"><i style='background:$extstyle[2]'></i></span>
					<!--{/loop}-->
				</div>
			<!--{/if}-->
			<!--{if $_G['uid']}-->
				<ul id="myitem_menu" class="p_pop" style="display: none;">
					<li><a href="forum.php?mod=guide&view=my">{lang mypost}</a></li>
					<li><a href="home.php?mod=space&do=favorite&view=me">{lang favorite}</a></li>
					<li><a href="home.php?mod=space&do=friend">{lang friends}</a></li>
					<!--{hook/global_myitem_extra}-->
				</ul>
			<!--{/if}-->
			<!--{subtemplate common/header_qmenu}-->
		<!--{/if}-->

		<!--{ad/headerbanner/wp a_h}-->
		<div id="hd">
			<div class="wp">
				<div class="hdc cl">
					<!--{eval $mnid = getcurrentnav();}-->
					<h2><!--{if !isset($_G['setting']['navlogos'][$mnid])}--><a href="{if $_G['setting']['domain']['app']['default']}http://{$_G['setting']['domain']['app']['default']}/{else}./{/if}" title="$_G['setting']['bbname']">{$_G['style']['boardlogo']}</a><!--{else}-->$_G['setting']['navlogos'][$mnid]<!--{/if}--></h2>
					<!--{template common/header_userstatus}-->
				</div>

				<div id="nv">
					<a href="javascript:;" id="qmenu" οnmοuseοver="delayShow(this, function () {showMenu({'ctrlid':'qmenu','pos':'34!','ctrlclass':'a','duration':2});showForummenu($_G[fid]);})">{lang my_nav}</a>
					<ul>
						<!--{loop $_G['setting']['navs'] $nav}-->
							<!--{if $nav['available'] && (!$nav['level'] || ($nav['level'] == 1 && $_G['uid']) || ($nav['level'] == 2 && $_G['adminid'] > 0) || ($nav['level'] == 3 && $_G['adminid'] == 1))}--><li {if $mnid == $nav[navid]}class="a" {/if}$nav[nav]></li><!--{/if}-->
						<!--{/loop}-->
					</ul>
					<!--{hook/global_nav_extra}-->
				</div>
				<!--{if !empty($_G['setting']['plugins']['jsmenu'])}-->
					<ul class="p_pop h_pop" id="plugin_menu" style="display: none">
					<!--{loop $_G['setting']['plugins']['jsmenu'] $module}-->
						 <!--{if !$module['adminid'] || ($module['adminid'] && $_G['adminid'] > 0 && $module['adminid'] >= $_G['adminid'])}-->
						 <li>$module[url]</li>
						 <!--{/if}-->
					<!--{/loop}-->
					</ul>
				<!--{/if}-->
				$_G[setting][menunavs]
				<div id="mu" class="cl">
				<!--{if $_G['setting']['subnavs']}-->
					<!--{loop $_G[setting][subnavs] $navid $subnav}-->
						<!--{if $_G['setting']['navsubhover'] || $mnid == $navid}-->
						<ul class="cl {if $mnid == $navid}current{/if}" id="snav_$navid" style="display:{if $mnid != $navid}none{/if}">
						$subnav
						</ul>
						<!--{/if}-->
					<!--{/loop}-->
				<!--{/if}-->
				</div>
				<!--{ad/subnavbanner/a_mu}-->
				<!--{subtemplate common/pubsearchform}-->
			</div>
		</div>

		<!--{hook/global_header}-->
	<!--{/if}-->

	<div id="wp" class="wp">













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值