微信自定义菜单

在我们关注的微信公众号中,我们点击进去下面会出现一行菜单,这些就是自定义菜单,它可以帮助公众号丰富界面,还可以使我们更好的了解该公众号的功能。在我们实现的时候需要注意;一个自定义菜单最多包含3个一级菜单,一个菜单最多包含5个二级菜单。一级菜单最多包含4个汉字,二级菜单最多包含7个汉字,多出来的汉字会以“...”代替。


1.首先实现我们写一个index方法,将数据库读出来的数据进行格式转换,与二级菜单的格式相同,

public function index(){
    $mp=$this->mp;//获取当前使用的公众号
   
    if(empty($mp)){
    $this->error('无使用的公众号',U('mp/index'));
    }
    $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();

}

2.在写一个menuedit方法,将你写的菜单写入到数据库中,引用LaneWeChat中的方法实现创建菜单
public function menuedit(){
        $mp=$this->mp;//获取当前使用的公众号,
    //写入数据库
$data=I('post.data');
foreach ($data as &$value){
$value['mp_id']=$mp['id'];
}
$model=M('mp_menu');
       $model->where("mp_id={$mp['id']}")->delete();
$model->addAll($data);
//创建微信公众号的菜单
              include APP_PATH .'LaneWeChat/lanewechat.php';
             $ret =Menu::setMenu($data);

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

}

通过这另个方法可以实现自定义菜单功能,



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值