//提交菜单信息到微信公众号
public function menu_tijiao(){
/*
* 菜单处理开始
* 只取3条leftid=0的数据
*/
$menu=M('menu')->where(array('parent_id'=>0))->order('id')->limit(3)->select();
$menu_count=M('menu')->where(array('parent_id'=>0))->count();
/*
* 菜单数据重组
* 重组结构参考微信公共平台开发文档
* name 菜单名称
* type 菜单类型
* url 链接地址:针对viewleix
*/
$arr=array();
foreach ($menu as $v){
$menu_2=M('menu')->where(array('parent_id'=>$v['id']))->find();
if (!empty($menu_2)){
$v['n']=1;
}else{
$v['n']=0;
}
$arr[]=$v;
}
//字段N 判断是否有下一级
//p($arr);die;
$k=0;
$data = '{"button":[';//菜单头
foreach($arr as $v){
if ($v['menu_type']=='click'){
$type='key';
}elseif ($v['menu_type']=='view'){
$type='url';
}
$k=$k+1;
if ($v['n']==0){
if ($k==$menu_count){//如果是最后一个菜单,那么就不要逗号;
$data.='{"type":"'.$v['menu_type'].'","name":"'.$v['menu_name'].'","'.$type.'":"'.$v['menu_url'].'"}';//如果是最后一个菜单,不就要逗号了。
}else{
$data.='{"type":"'.$v['menu_type'].'","name":"'.$v['menu_name'].'","'.$type.'":"'.$v['menu_url'].'"},';//如果是最后一个菜单,不就要逗号了。
}
}else{
$data.='{"name":"'.$v['menu_name'].'","sub_button":[';
/*
* 开始输出子菜单
*/
$menu_two=M('menu')->where(array('parent_id'=>$v['id']))->select();//子菜单数据
$menu_twocount=M('menu')->where(array('parent_id'=>$v['id']))->count();//子菜单数量
$m=0;
foreach ($menu_two as $y){
if ($y['menu_type']=='click'){
$type_two='key';
}elseif ($y['menu_type']=='view'){
$type_two='url';
}
$m=$m+1;
if ($m==$menu_twocount){//如果是最后一个菜单,那么就不要逗号;
$data.='{"type":"'.$y['menu_type'].'","name":"'.$y['menu_name'].'","'.$type_two.'":"'.$y['menu_url'].'"}';//如果是最后一个菜单,不就要逗号了。
}else{
$data.='{"type":"'.$y['menu_type'].'","name":"'.$y['menu_name'].'","'.$type_two.'":"'.$y['menu_url'].'"},';//如果是最后一个菜单,不就要逗号了。
}
}
if ($m==$menu_twocount){//如果是最后一个菜单的话,就不要逗号了
$data.= ']},';
}else{
$data.= ']}';
}
}
}
$data.= ']}';
// var_dump($data);die;
$access_token = get_access_token();
// var_dump($access_token);die;
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=$access_token";
//echo '<br />'.$url;
$result = curl_post($url, $data);
$de_json = json_decode($result,TRUE);
// dump($de_json);die;
if($de_json['errcode']==0){
$name = $_SESSION['name'];
$action = '成功提交菜单至微信公众号';
add_log($name,$action);
$this->success('成功提交菜单至微信公众号');
}
else{
$this->error('提交失败:errcode:'.$de_json['errcode'].' errmsg:'.$de_json['errmsg']);
}
}