我们一向是追求快捷开发项目,而一般的项目都需要有一个管理的后台。所以基于此需求,MooPHP提供了一个快捷的构建管理后台的后台类。 后台类使用非常的方便灵活。你需要做的就是关注你具体细节实现的部分。
下面介绍基本的组成和使用方法,欲知更详细的信息可以参考源代码。
./admin.php
入口文件,所有的操作都是调用该文件。后台操作涉及权限问题,需要根据自己的权限需求修改此文件。
./Moo-admin/menu.inc.php
后台菜单配置文件,通过修改该文件来可以灵活的控制后台的菜单显示。
./Moo-admin
所有后台的操作的子文件存放目录。
./Moo-admin/javascript/
后台用到的javascript文件存放目录。
./Moo-admin/images/
后台用到的图片和css文件存放目录。
MooPHP后台主要由3个页面组成的一个经典的框架页后台--头部导航菜单页面,左侧子菜单导航页面,中部主要页面。
头部导航菜单页面主要是由大的分类组成的菜单。具体的菜单链接由菜单配置文件 ./Moo-admin/menu.inc.php来生成。
生成的配置方法例如:
$topMenu['settings'] = array('name'=>'设置', 'iniUrl'=>'admin.php?action=basic'); $topMenu['article'] = array('name'=>'文章', 'iniUrl'=>'admin.php?action=basic'); $topMenu['category'] = array('name'=>'分类', 'iniUrl'=>'admin.php?action=basic');
只要根据上面的例子增加 $topMenu 即可,$topMenu的key 需要唯一,和下面的左侧的菜单对应。 上面增加后的效果是生成了3个大的导航菜单,当点击的时候,会在左侧页面显示对应的二级导航菜单,和在主页面显示iniUrl页面。
改页面即为二级导航页面。通过修改配置文件 ./Moo-admin/menu.inc.php 来完成左边菜单栏的构建。
$leftMenu['settings'] = array(); $leftMenu['settings']['system'] = array(); $leftMenu['settings']['system']['name'] = '系统设置'; $leftMenu['settings']['system']['array'] = array( array('title' => '站点标题', 'url'=>'admin.php?action=basic'), array('title' => '站点地址', 'url'=>'admin.php?action=basic') ); $leftMenu['settings']['basic'] = array(); $leftMenu['settings']['basic']['name'] = '基本设置'; $leftMenu['settings']['basic']['array'] = array( array('title' => '注册设置', 'url'=>'admin.php?action=basic'), array('title' => '页面显示', 'url'=>'admin.php?action=basic') ); $leftMenu['article'] = array(); $leftMenu['article']['system'] = array(); $leftMenu['article']['system']['name'] = '文章设置'; $leftMenu['article']['system']['array'] = array( array('title' => '文章分类', 'url'=>'admin.php?action=basic'), array('title' => '文章标签', 'url'=>'admin.php?action=basic') ); $leftMenu['category'] = array(); $leftMenu['category']['system'] = array(); $leftMenu['category']['system']['name'] = '分类设置'; $leftMenu['category']['system']['array'] = array( array('title' => '编辑分类', 'url'=>'admin.php?action=basic'), array('title' => '增加分类', 'url'=>'admin.php?action=basic') );
$leftMenu 为一个多维数组。一维的key即和头部的导航 $topMenu的key相对应,来完成一二级菜单的关联。 二维的key组成二级导航的菜单的一组。三维的key为name 和 array, name为该组菜单的标题,array 为该组下所有的菜单链接 每个菜单链接还是数组形式配置,title 对应链接标题,url 对应为在主页面打开的链接url。
参照上面的例子和规则是可以很灵活的增加自己的菜单的。
中部页面是后台的主要页面,通过左侧链接打开主页面。
而左侧的链接是自己定义的(参照上面左侧页面说明)。
如果是通过./admin.php 入口的url,调用规则是所有文件放在 ./Moo-admin/ 目录下,且符合命名规则 $action.inc.php。
例如调用地址为 admin.php?action=basic 则会自动调用子文件 ./Moo-admin/basic.inc.php。
admin.php在调用的时候已经初始化了一个后台管理类。对于常见的表单类型可以利用 showForm 方法完成。
/** * 生成表单信息 * * @param string $setName : 设置的标题名称 * @param string $varName : 生产的表单变量的名称 * @param string $value : 生产的表单初始值 * @param string $type : 生产的表单类型 * @param string $width :左表格和占的宽度比例 * @param string $disabled : 是否禁止提交或者设置为只读(readonly) * @param string $hidden : 是否增加隐藏的折叠层 * @param string $comment : 设置的说明 * @param array $lang : 语言包数组 * @return void */ function showForm($setName, $varName, $value, $type = 'radio', $width = '45%', $disabled = '', $hidden = 0, $comment = '', $lang = array()){}
下面对常见的表单类型如果使用 showForm 方法进行说明:
$admin->showForm('开关单选样例标题', 'radioName', '1', 'radio', '', '', 0, '开关单选样例说明');
$checkbox = array('checkboxName', array('1'=>'checkbox1', '2'=>'checkbox2','3'=>'checkbox3')); $admin->showForm('checkbox标题', $checkbox, '2', 'mcheckbox', '', '', '', 0, 'checkbox说明');
$select = array('selectName', array( array('1','下拉1'), array('2','下拉2'), array('3','下拉3'), )); $admin->showForm('下拉选择标题', $select, '2', 'select', '', '', 0, '下拉选择说明');
$admin->showForm('单行文字输入框标题', 'textName', '初始值', 'text', '', '', 0, '单行文字输入框说明');
$admin->showForm('单行文字输入框标题', 'textName', '初始值', 'text', '', '', 0, '单行文字输入框说明');
$admin->showForm('密码输入框标题', 'textName', 'password', 'password', '', '', 0, '密码输入框说明(初始值为password)');
echo '<script src="./Moo-admin/javascript/calendar.js" type="text/javascript"></script>'; $admin->showForm('日历样例标题', 'calendarName', '', 'calendar', '', '', '', 0, '日历样例说明');