您的位置:首页 > 数据库

创建菜单(存入数据库,显示在页面中,同步数据)

2018-04-12 19:52 671 查看
定义index方法,先调用getCurrentMp方法,判断mp是否为空
public function index(){
$mp = getCurrentMp();
if (empty($mp)) {
$this->error('没有公众号在使用',U('mp/index'));
}
$data = M('mp_menu')->where("mp_id = {$mp['id']}")->order('id')->select();
// print_r($data);
$data2 = $data;
foreach ($data as $key1 => $value1) {
foreach ($data2 as $key2 => $value2) {
if($value1['index']==$value2['pindex']){
$data[$key1]['sub'][]=$value2;
unset($data[$key2]);
}
}
}
// print_r($data);
$this->assign('mpInfo',$mp);
$this->assign('list',$data);
$this->display();

}
public function menuedit(){
// $this->display();
$mp = getCurrentMp();
if (empty($mp)) {
$this->ajaxReturn(array('error'=>true,'msg'=>'没有公众号在使用','url'=>U('mp/index')));
exit;
}
$data1 = I('post.data');
// print_r($data1);
// exit;
// $arr = array();
//$data1 是自定义菜单里的 $mp 是rh_mp数据库里的
foreach ($data1 as &$value) {
//键名是自定义的,值是自定义菜单里的表单提交信息
// $row = array();
// $row['mp_id'] = $mp['id'];
$value['mp_id'] = $mp['id'];
// $row['index'] = $value['index'];
// $row['pindex'] = $value['name'];
// $row['content'] = $value['code'];
// $row['type'] = $value['type'];
// $row['sort'] = $value['sort'];
// $arr[] = $row;

}
$model = M('mp_menu');
$model->where("mp_id={$mp['id']}")->delete();
// $ret = M('mp_menu')->addAll($arr);
// $model->addAll($arr);
$model->addAll($data1);
//ajax返回的数据库里的信息($arr);

// $this->ajaxReturn(array('error'=>false,'data'=>$data1));
// exit;

$data2 = $data1;
foreach ($data1 as $key1 => $value1) {
foreach ($data2 as $key2 => $value2) {
if($value1['id']==$value2['pid']){
$data1[$key1]['type']='';
$data1[$key1]['content']='';
break;
}
}
unset($data1[$key1]['sort']);
if($value1['type']=='event'){
$data1[$key1]['type'] = $value1['content'];
$data[$key1]['content'] = 'K_'.rand(100,999);
}
}
include APP_PATH .'LaneWeChat/lanewechat.php';
$ret = Menu::setMenu($data1);
// file_put_contents('menu.txt',$ret);

if($ret == true){
$this->ajaxReturn(array('msg'=>'创建菜单成功'));
}else{
$this->ajaxReturn(array('msg'=>$ret));
}

}

//同步菜单
public function downmenu(){
$mp = $this->mp;
$mp_id = $mp['id'];

include APP_PATH . 'LaneWeChat/lanewechat.php';
$menu = Menu::getMenu($data);

// print_r($menu);
// // exit;

// print_r($menu['menu']['button']);
// exit;

$menu = $menu['menu']['button'];

$arr = array();
$index = 1;
foreach ($menu as $key => &$value) {
$value['mp_id']= $mp_id;
$value['index'] = $index;
$value['pindex'] = 0;
$value['sort'] = $index;

if(!empty($value['sub_button'])){
$value['type'] = '';//设置一级菜单,默认值
$value['content'] = '';//设置一级菜单,默认值

$sub_menu = $value['sub_button']; //把二级菜单入到变量$sub_menu
unset($value['sub_button']);
$arr[] = $value;

$subindex = 1;
foreach ($sub_menu as $subkey=>&$subvalue) {
$subvalue['mp_id'] = $mp_id;
$subvalue['index'] = $index . $subindex;
$subvalue['pindex'] = $index;
$subvalue['sort'] = $subindex;

if($subvalue['type']== 'click'){
$subvalue['content'] = $subvalue['key'];
unset($subvalue['key']);
}else if($subvalue['type']=='view'){
$subvalue['content'] = $subvalue['url'];
unset($subvalue['url']);
}else {

$subvalue['content'] = $subvalue['type'];
$subvalue['type'] = 'event';
unset($subvalue['key']);
}

unset($subvalue['sub_button']);
$arr[] = $subvalue;

$subindex++;
}

}else{
if($value['type']== 'click'){
$value['content'] = $value['key'];
unset($value['key']);
}else if($value['type']=='view'){
$value['content'] = $value['url'];
unset($value['url']);
}else {

$value['content'] = $value['type'];
$value['type'] = 'event';
unset($value['key']);
}

unset($value['sub_button']);
$arr[] = $value;
}
$index++;
}

// print_r($arr);
// exit;

$model = M('mp_menu');
$model->where("mp_id={$mp['id']}")->delete();
foreach ($arr as $key => $value) {
$model->add($value);
}
$this->redirect('index');

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐