首先设置menu控制器,menuController.class.php,设置命名空间
1.
namespace Home\Controller;
use Think\Controller;
use LaneWeChat\Core\Menu;
检测是否有使用的微信公众号
public function _initialize(){
$mp = getCurrentMp();
if (empty($mp)) {
$this->error('无使用的公众号',U('mp/index'));
exit();
}else{
$this->mp = $mp;
}
}
2.获取公众号,状态为正在使用中。index方法进行
public function index(){
$mp = $this->mp;
$data = M('mp_menu')->where("mp_id={$mp['id']}")->order('id')->select();
$data2 = $data;
foreach($data as $k => $v){
foreach ($data2 as $k2 =>$v2){
if($v['index'] == $v2['pindex']){
$data[$k]['sub'][] = $v2;
unset($data[$k2]);
}
}
}
$this->assign('mpInfo',$mp);
$this->assign('list',$data);
$this->display();
}
3。menuedit方法上传到数据库
public function menuedit(){
//获取当前使用的公众号
// $mp = getCurrentMp();
$mp = $this->mp;
$mp_id = $mp['id'];
//写入数据库
$data = I('post.data');
// dump($data1);
foreach ($data as &$value) {
$value['mp_id'] = $mp['id'];
}
$model = M('mp_menu');
$model->where("mp_id={$mp['id']}")->delete();
$model->addAll($data);
// $this->ajaxReturn(array('error'=>false,'data'=>$arr));
// exit;
//创建菜单--先处理数据,格式要符合要求
include APP_PATH . 'LaneWeChat/lanewechat.php';
$ret = Menu::setMenu($data);
if($ret === true){
$this->ajaxReturn(array('msg'=>'创建菜单成功'));
}else{
$this->ajaxReturn(array('msg'=>$ret));
}
}