zoukankan      html  css  js  c++  java
  • 给discuz x增加后台菜单管理功能

    我们二次开发时,有时避免不了要为自己的程序增加后台管理功能,首先就要是要添加扩展目录和文件:

    新建立目录/source/admincp/menu/  扩展菜单目录,(左侧菜单显示的文件,文件名称的格式 menu_music.php)。

    再之后新建文件/source/admincp/menu/menu_music.php  菜单配置 ,music是你模型的的名字,是$_GET[‘action’]的值。

    写入文件内容

    <?php

    $topmenu['music'] = ”;

    $menu['music'] = array( 
        array(‘menu_music_channle’, ‘music_channel_confid’),  

    /*第一个值为菜单名字;会用默认的lang获取,也可以直接写名字。

    第二个值为参数$_GET['action']、$_GET['operation']和$_GET['do'] 用”_”格开,这个在写管理文件时要用,比如这个对应的网址就是admin.php?action=music&operation=channel&do=confid。

    每一个数组就是一个菜单按钮。

    */

        array(‘menu_music_sortoption’, ‘music_sort’), 
    );

    ?>

    接下来就是写菜单名字了:

    新建/source/language/lang_admincp_music.php语言文件,写入下面内容:

    <?php

    $extend_lang = array 

        ‘header_music’ => ‘音乐’,//这是最上面显示的菜单名字。 
        ‘nav_music’ => ‘音乐′, //子导航菜单名字,下面就是对应菜单配置中的中文

        ‘menu_music_channle_confid” => ‘音乐基本设置’, 
        ‘menu_music_sort’ => ‘音乐分类管理’,);

    $GLOBALS['admincp_actions_normal'][] = ‘music’;//这是模板的名字,这个是必须写的!

    ?>

    接下来就是写管理文件了,

    创建/source/admincp/admincp_music.php,music是模板名。

    具体内容就要自己写了,但是一定要记得在文件头加上

    if(!defined(‘IN_DISCUZ’) || !defined(‘IN_ADMINCP’)) { 
        exit(‘Access Denied’); 
    }

    总结:discuz后台扩展菜单的方法:

    第一种:

    1.有着PHP的功力,直接修改discuz源文件。(不推荐 兼容性不好)

    步骤:

    1.打开文件 source/admincp/admincp_menu.php修改添加红色字体

    $isfounder = isset($isfounder) ? $isfounder : isfounder();
    
    $topmenu = $menu = array();
    
    $topmenu = array (
    'index' => '',
    'global' => '',
    'style' => '',
    'topic' => '',
    'user' => '',
    'portal' => '',
    'forum' => '',
    'group' => '',
    'extended' => '',
    'plugin' => $isfounder ? 'plugins' : '',
    'tools' => '',
    'music' => '',
    );
    

    2.打开文件source/language/lang_admincp_menu.php修改添加

    $lang = array
    (
    
    
      'header_index' => '首頁',
      'header_global' => '全局',
      'header_forum' => '論壇',
      'header_user' => '用戶',
      'header_topic' => '內容',
      'header_extended' => '運營',
      'header_plugin' => '應用',
      'header_style' => '界面',
      'header_adv' => '廣告',
      'header_tools' => '工具',
      'header_uc' => 'UCenter',
      'header_music' => '音乐',
      'header_welcome' => '您好',
    

    保存 即可,刷新后台。OK 顶部菜单已出来。

    第二种方法:以扩展的方式写(推荐 兼容性好),discuz会自动扫描source/admincp/menu文件夹下的文件,自动包含。

    创建menu_music.php文件

    <?php
    
    $topmenu['music'] = '';
    
    $menu['music'] = array(
      array('menu_category_index', 'category_index_music'),
    
    );
    
    ?>
    

    2.创建source/language/lang_admincp_music.php

    <?php
    $extend_lang = array
    (
      'header_music' => '音乐',
      'nav_music' => '音乐',
      'mod_name_music' => '音乐模块增强版',
    
      'menu_category_index' => '音乐信息',
    );
    $GLOBALS['admincp_actions_normal'][] = 'music';
    ?>
    

    注意:经过我研究发现 header_music  与topmenu['music']='';是语言对应关系。有错误的欢迎探讨。  

      

    只有想不到,没有做不到!!!
    鸿鹄IT网络学院
  • 相关阅读:
    夺命雷公狗---linux NO:8 linux的通配符和ll以及ls的使用方法
    夺命雷公狗---linux NO:7 linux命令基本格式
    夺命雷公狗---linux NO:6 linux远程登录和关机和重启
    夺命雷公狗---解决网络和共享中心打不开的问题
    夺命雷公狗---linux NO:5 linux系统登录和注销
    夺命雷公狗---linux NO:4 linux系统运行级别
    利用win7系统自带服务在内网搭建ftp服务器
    2017-05-31--夺命雷公狗发牢骚
    夺命雷公狗C/C++-----9---自定义一个函数测试简单的运算
    夺命雷公狗C/C++-----8---使用ShellExecute打开一个文件和一个网址和打印文件
  • 原文地址:https://www.cnblogs.com/zhongbin/p/3152148.html
Copyright © 2011-2022 走看看