Discuz二次开发之新增后台模块
discuz二次开发不可避免的会增加后台模块。下面是我结合网上及实际开发总结出来的步骤。
discuz基本的跳转方式为:admin.php?action=控制器&operation=方法
1、在source/admincp目录下,创建目录menu,并在menu目录下创建文件menu_action.php,action为自定义控制器名字。
我创建的文件为menu_carousel.php,并在文件中写入以下代码:
<?php if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) { exit('Access Denied'); } /* 该文件的定义中,carousel为action,而operation为carousel_list中的list 左侧第一个的跳转链接为admin.php?action=carousel&operation=list */ $topmenu['carousel'] = ''; $menu['carousel'] = array(//定义左侧导航 array('menu_carousel_list','carousel_list'), array('menu_carousel_upload','carousel_upload'), array('menu_carousel_designlist','carousel_designlist'), array('menu_carousel_design','carousel_design'), array('menu_carousel_tie','carousel_tie'), array('menu_carousel_other','carousel_other'), );
2、在source/language目录下,创建文件lang_admincp_action.php,action为自定义控制器名字。
我创建的文件为lang_admincp_carousel.php,并在文件中写入以下代码:
<?php if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) { exit('Access Denied'); } $extend_lang = array( 'header_carousel'=>'自定义',//定义顶部导航的名字 'nav_carousel'=>'carousel',//定义action名字 'menu_carousel_list'=>'轮播图列表',//定义左侧导航的显示文字,key值需要与menu_action.php中相对应 'menu_carousel_upload'=>'上传轮播图', 'menu_carousel_designlist'=>'原画图列表', 'menu_carousel_design'=>'上传原画图', 'menu_carousel_tie'=>'推送帖子', 'menu_carousel_other'=>'其他', ); $GLOBALS['admincp_actions_normal'][] = 'carousel';
3、可以开始创建控制器文件了,在source/admincp目录下创建控制器admincp_action.php,action为自定义控制器名字。
我创建的文件为admincp_carousel.php,在控制器文件中我们会根据operation的值不同,进行不同的操作,例如:
<?php if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) { exit('Access Denied'); } cpheader(); if($operation == 'list'){ //轮播图列表显示界面 }elseif($operation == 'upload'){ //上传轮播图显示界面 }elseif($operation == 'designlist'){ //原画图列表显示界面 }elseif($operation == 'design'){ //上传原画图显示界面 }elseif($operation == 'tie'){ //推送帖子显示界面 }elseif($operation == 'other'){ //其他表显示界面 }
以上就是后台新增模块的相关知识
转载请写明出处:陈先生的博客|IT咸鱼 » Discuz二次开发之新增后台模块

浙公网安备 33010602011771号