主页 > 编程资料 > 编程更多 >
发布时间:2016-11-08 作者:apizl 阅读:382次

在二开后台时候会有添加二级菜单的需求。如下就详解如何快速的新增二级菜单。

首先参考第一个修改的文章:http://www.apizl.com/archives/view-132884-1.html

但是如上是修改缓存文件,但是我们需要永久修改后台的菜单!

首先修改根目录下面的入口文件shopnc.php文件

define('ADMIN_MODULES_XXXX', 'modules/xxxx');

\admin\modules\xxxx就对应你的新模块

\admin\modules\xxxx\include 下面的就是你的菜单配置 只需把上一篇文章的配置搬到如下就可以!

\admin\control\control.php 我们需要修改如下的方法 

/**
     * 取得后台菜单的Html形式
     *
     * @param string $permission
     * @return
     */
    protected final function getNav() {
        xxxx...
    }

修改为:

/**
     * 取得后台菜单的Html形式
     *
     * @param string $permission
     * @return
     */
    protected final function getNav() {
        Language::read('layout');
        $lang = Language::getLangContent();
        if (file_exists(BASE_PATH . DS . ADMIN_MODULES_SYSTEM . '/include/menu.php')) {
            require(BASE_PATH . DS . ADMIN_MODULES_SYSTEM . '/include/menu.php');
        }
        if (file_exists(BASE_PATH . DS . ADMIN_MODULES_SHOP . '/include/menu.php')) {
            require(BASE_PATH . DS . ADMIN_MODULES_SHOP . '/include/menu.php');
        }
        if (file_exists(BASE_PATH . DS . ADMIN_MODULES_CMS . '/include/menu.php')) {
            require(BASE_PATH . DS . ADMIN_MODULES_CMS . '/include/menu.php');
        }
        if (file_exists(BASE_PATH . DS . ADMIN_MODULES_CIECLE . '/include/menu.php')) {
            require(BASE_PATH . DS . ADMIN_MODULES_CIECLE . '/include/menu.php');
        }
        if (file_exists(BASE_PATH . DS . ADMIN_MODULES_MICEOSHOP . '/include/menu.php')) {
            require(BASE_PATH . DS . ADMIN_MODULES_MICEOSHOP . '/include/menu.php');
        }
        if (file_exists(BASE_PATH . DS . ADMIN_MODULES_MOBILE . '/include/menu.php')) {
            require(BASE_PATH . DS . ADMIN_MODULES_MOBILE . '/include/menu.php');
        }
        if (file_exists(BASE_PATH . DS . ADMIN_MODULES_XXXX . '/include/menu.php')) {
            require(BASE_PATH . DS . ADMIN_MODULES_XXXX . '/include/menu.php');
        }
//        $_menu = $this->getMenu();//此处是调用的缓存菜单数据配置
        $_menu = $this->parseMenu($_menu);
        $quicklink = $this->getQuickLink();

        $top_nav = '';
        $left_nav = '';
        $map_nav = '';
        $map_top = '';
        $quick_array = array();
        foreach ($_menu as $key => $value) {
            $top_nav .= '<li data-param="' . $key . '"><a href="javascript:void(0);">' . $value['name'] . '</a></li>';
            $left_nav .= '<div id="admincpNavTabs_' . $key . '" class="nav-tabs">';
            $map_top .= '<li><a href="javascript:void(0);" data-param="map-' . $key . '">' . $value['name'] . '</a></li>';
            $map_nav .= '<div class="admincp-map-div" data-param="map-' . $key . '">';
            foreach ($value['child'] as $ke => $val) {
                if (!empty($val['child'])) {
                    $left_nav .= '<dl><dt><a href="javascript:void(0);"><span class="ico-' . $key . '-' . $ke . '"></span><h3>' . $val['name'] . '</h3></a></dt>';
                    $left_nav .= '<dd class="sub-menu"><ul>';
                    $map_nav .= '<dl><dt>' . $val['name'] . '</dt>';
                    foreach ($val['child'] as $k => $v) {
                        $left_nav .= '<li><a href="javascript:void(0);" data-param="' . $key . '|' . $k . '">' . $v . '</a></li>';
                        $selected = '';
                        if (in_array($key . '|' . $k, $quicklink)) {
                            $selected = 'selected';
                            $quick_array[$key . '|' . $k] = $v;
                        }
                        $map_nav .= '<dd class="' . $selected . '"><a href="javascript:void(0);" data-param="' . $key . '|' . $k . '">' . $v . '</a><i class="fa fa-check-square-o"></i></dd>';
                    }
                    $left_nav .= '</ul></dd></dl>';
                    $map_nav .= '</dl>';
                }
            }
            $left_nav .= '</div>';
            $map_nav .= '</dl></div>';
        }
        $map_nav = '<ul class="admincp-map-nav">' . $map_top . '</ul>' . $map_nav;
        return array($top_nav, $left_nav, $map_nav, $quick_array);
    }

这样就可以直接调用不同模块下的菜单配置了 !

文章由爱资料原创本文地址:https://www.apizl.com/archives/view-132909-1.html,转载请以链接形式标明本文地址!
关键字词: