如何在Discuz!X建立属于自己的后台管理页-Discuz教程下载

如何在Discuz!X建立属于自己的后台管理页

来自版块: Discuz教程发表于: 2023-3-3 12:30:40
2188
0
如本资源下载地址失效,请点击此处进行反馈
开通本站Svip会员,全站资源免费下
此图为后台管理中的论坛相关的导航样式, 增加了信息管理一项的后台功能. 里面实现的方法是用了模板技术.

由于Discuz的后台函数模板太让人伤心, 也实在是不利于二次开发, 所以此教程将后台管理功能更简易化, 更扩展性.
我们依增加一项管理操作功能为例,先实现让它显示出来.
修改方法:
  首先打开: source/admincp/admincp_menu.php
  第16行: $topmenu = $menu = array();
  分别初始化了顶部导航及左侧导航两组用到的数组.
  我们查找:
  1. $menu['forum'] = array(
  2.         array('menu_forums', 'forums'),
复制代码
回车新加一行, 注册逗号之类的. 按上下规则来增加
  array('信息管理', 'threadlist'),     'threadlist'表示调用的php文件, 完整路径为 source/admincp/admincp_threadlist.php   
   保存起来, 现在刷新一下, 右侧应该会出现一个新的信息管理功能. 但点击后,提示权限不足.
   我们打开根目录下的admin.php文件, 在$admincp_actions_normal数组中增加一个'threadlist'表示让些功能许可操作. 注意上下对照一下, 原来代码怎么个写法, 你也怎么写. 增加完后的效果.
  1. $admincp_actions_normal = array('index','threadlist' ,'setting', 'members', 'profilefields', 'admingroup', 'usergroups',
复制代码
现在点击信息管理, 应该是空白,而不是错误提示了.
  现在我们新建立文件: source/admincp/admincp_threadlist.php
  在里面写上如下代码:
  "我是测试管理页"
  点击信息管理, 此段信息应该会出来, 那么恭喜你, 你建立了一个新的后台管理页. 接下来, 我们要功能与模板化.
  将php代码改成:
  1. <?php
  2. $topmenu = array (
  3.         'index' => 'asfsadfasdf',
  4.         'global' => 'sadfsadf',
  5.         'style' => 'asdfsadf',
  6.         'topic' => 'asdfsadfasdf',
  7.         'user' => 'sdfsdfafsdaf',
  8.         'portal' => 'asdfasdfsdaf',
  9.         'forum' => 'wrtwrasdfsa',
  10.         'group' => 'aswesdfasf',
  11.         'extended' => 'asfsadfsadf',
  12.         'plugin' => $isfounder ? 'plugins' : '',
  13.         'tools' => 'twetwetrwet',
  14. );
  15. //print_r($_G); 测试全局数组
  16. include template('forum/threadlist');
  17. ?>  
复制代码
然后建议模板文件: template/default/forum/threadlist.htm
  里面代码如下:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset={$_G[charset]}" />
  5. <title></title>
  6. <link rel="stylesheet" href="static/image/admincp/admincp.CSS" type="text/css" media="all" />
  7. <script type="text/java script">
  8. var admincpfilename = 'admin.php', IMGDIR = 'static/image/common', STYLEID = '1', VERHASH = '5nb', IN_ADMINCP = true, ISFRAME = 1;
  9. </script>
  10. <script src="static/js/common.js" type="text/java script"></script>
  11. <script src="static/js/admincp.js" type="text/java script"></script>
  12. <script type="text/java script">
  13. if(ISFRAME && !parent.document.getElementById('leftmenu')) {
  14.         redirect(admincpfilename + '?frames=yes&' + document.URL.substr(document.URL.indexOf(admincpfilename) + 10));
  15. }
  16. </script>
  17. </head>
  18. <body>
  19. <table class="tb tb2 " style="text-align:left">
  20.         <!--{loop $topmenu $key $val}-->
  21.         <tr>
  22.         <td>{$key} === $val</td>
  23.         </tr>
  24.         <!--{/loop}-->
  25. </table>
  26. </body>
  27. </html>
复制代码
现在访问看看, 是不是美妙得多了. 内容仅仅是table一段, 其它默认的信息建议保留, 可以加载一些css.
你也可以建立自己独有的header模板, 通过语法来调用.
好了, 你已经成功建立了一个新的后台管理页.

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部