设为首页收藏本站

就爱编程论坛

 找回密码
 注册

人人连接登陆

无需注册,直接登录

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

查看: 502|回复: 0
打印 上一主题 下一主题

如何在Discuz!X建立属于自己的后台管理页 [复制链接]

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    无聊
    2025-5-27 03:37:20
  • 签到天数: 366 天

    [LV.9]以坛为家II

    论坛先锋 学习至圣 荣誉成员 论坛元老 活跃之星 终极领袖

    我玩的应用:

    跳转到指定楼层
    楼主
    发表于 2011-4-11 23:34:15 |只看该作者 |倒序浏览

    此图为后台管理中的论坛相关的导航样式, 增加了信息管理一项的后台功能. 里面实现的方法是用了模板技术.

    由于discuz的后台函数模板太让人伤心, 也实在是不利于二次开发, 所以此教程将后台管理功能更简易化, 更扩展性.
    我们依增加一项管理操作功能为例,先实现让它显示出来.
    修改方法:
      首先打开: source/admincp/admincp_menu.php
      第16行: $topmenu = $menu = array();
      分别初始化了顶部导航及左侧导航两组用到的数组.

      我们查找:

    $menu['forum'] = array(
            array('menu_forums', 'forums'),

    回车新加一行, 注册逗号之类的. 按上下规则来增加
      array('信息管理', 'threadlist'),     'threadlist'表示调用的php文件, 完整路径为 source/admincp/admincp_threadlist.php
       
       保存起来, 现在刷新一下, 右侧应该会出现一个新的信息管理功能. 但点击后,提示权限不足.

       我们打开根目录下的admin.php文件, 在$admincp_actions_normal数组中增加一个'threadlist'表示让些功能许可操作. 注意上下对照一下, 原来代码怎么个写法, 你也怎么写. 增加完后的效果.
    [size=+0]$admincp_actions_normal = array('index','threadlist' ,'setting', 'members', 'profilefields', 'admingroup', 'usergroups',

    现在点击信息管理, 应该是空白,而不是错误提示了.
      现在我们新建立文件: source/admincp/admincp_threadlist.php

      在里面写上如下代码:
      "我是测试管理页"

      点击信息管理, 此段信息应该会出来, 那么恭喜你, 你建立了一个新的后台管理页. 接下来, 我们要功能与模板化.

      将php代码改成:
    <?php
    $topmenu = array (
            'index' => 'asfsadfasdf',
            'global' => 'sadfsadf',
            'style' => 'asdfsadf',
            'topic' => 'asdfsadfasdf',
            'user' => 'sdfsdfafsdaf',
            'portal' => 'asdfasdfsdaf',
            'forum' => 'wrtwrasdfsa',
            'group' => 'aswesdfasf',
            'extended' => 'asfsadfsadf',
            'plugin' => $isfounder ? 'plugins' : '',
            'tools' => 'twetwetrwet',
    );

    //print_r($_G); 测试全局数组
    include template('forum/threadlist');
    ?>
      

    然后建议模板文件: template/default/forum/threadlist.htm
      里面代码如下:
    [size=+0]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url=]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
    <html xmlns="[url=]http://www.w3.org/1999/xhtml[/url]">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset={$_G[charset]}" />
    <title></title>
    <link rel="stylesheet" href="static/image/admincp/admincp.css" type="text/css" media="all" />
    <script type="text/java script">
    var admincpfilename = 'admin.php', IMGDIR = 'static/image/common', STYLEID = '1', VERHASH = '5nb', IN_ADMINCP = true, ISFRAME = 1;
    </script>
    <script src="static/js/common.js" type="text/java script"></script>
    <script src="static/js/admincp.js" type="text/java script"></script>
    <script type="text/java script">
    if(ISFRAME && !parent.document.getElementById('leftmenu')) {
            redirect(admincpfilename + '?frames=yes&' + document.URL.substr(document.URL.indexOf(admincpfilename) + 10));
    }
    </script>
    </head>
    [size=+0]<body>
    [size=+0]<table class="tb tb2 " style="text-align:left">
            <!--{loop $topmenu $key $val}-->
            <tr>
            <td>{$key} === $val</td>
            </tr>
            <!--{/loop}-->
    </table>
    [size=+0]</body>
    </html>

    现在访问看看, 是不是美妙得多了. 内容仅仅是table一段, 其它默认的信息建议保留, 可以加载一些css.
    你也可以建立自己独有的header模板, 通过语法来调用.

    好了, 你已经成功建立了一个新的后台管理页.
    附件: 你需要登录才可以下载或查看附件。没有帐号?注册 人人连接登陆
    分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    分享分享0 收藏收藏0 支持支持0 反对反对0 分享到人人 转发到微博
    [img=http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=fRUcHhYWGAQ9GxIFEBwUEVMeEhA]http://rescdn.qqmail.com/zh_CN/htmledition/images/function/qm_open/ico_mailme_02.png[/img]

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册 人人连接登陆

    晴云孤魂's Blog|就爱编程搜帖|手机版|Archiver|就爱编程论坛     

    GMT+8, 2025-7-2 08:23 , Processed in 0.097102 second(s), 29 queries .

    Powered by Discuz! X2

    © 2001-2011 Comsenz Inc.

    回顶部