打算開發(fā)微網站自定義菜單,搜索網上都是一些寫死的例子,作為多用戶網站管理系統(tǒng)“巔云建站系統(tǒng)”就需要根據不同用戶設置生成不同的公眾號菜單,包括一二級菜單,微網站開發(fā)中自定義菜單實現其實很簡單,我們把我在我司“巔云智能建站系統(tǒng)”開發(fā)中的實現原理分享出來,希望對新手小白開發(fā)自定義菜單有幫助。由于是多用戶系統(tǒng),當然比普通開發(fā)要多出獲取用戶的步驟。當然如果你也是網站建設從業(yè)者可以購買我司的建站系統(tǒng)平臺版,可二次開發(fā)。詳情登陸:http://www.yx10011.com/design/#websites-taocan 1880元起(單用戶),多用戶版(8000元,自助建站平臺)<?php//前三行為巔云專用引入基礎配置代碼session_start();require_once("../common/common.php");$web=get_web();//獲取當前網站用戶名//數據庫連接代碼$con=mysql_connect(DB_SERVER,DB_LOGIN,DB_PW) or die("Unable to connect to the MySQL!");$db = mysql_select_db(DB_NAME,$con);//據不同網站讀取數據庫微信配置。$sql = "select * from wx_config where user='$web' ";$rs = mysql_query($sql);while($row_p=mysql_fetch_assoc($rs)){$appid=$row_p['appid'];$appsecret= $row_p['appsecret']; }////////////判斷是不是網址,后邊組裝菜單JOSON 數據時用,如果是"key":"關鍵詞" 否則 "url":"網址"function check_url($url){ if(!preg_match('/http:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is',$url)){ return false; } return true;} ///////////引入沒有設置par_type(父級ID)限制三個一級菜單$sqlmenu = "select * from wx_menu where par_type='' and user='$web' limit 3";$rsmenu = mysql_query($sqlmenu);$rowNum = mysql_num_rows($rsmenu);//實際數量 $jsonmenu = '{"button":[';//菜單頭//兩個記數器,一二級while循環(huán)自增,當循環(huán)次數等于實際數量時去除“,”號,限如果分別是一級菜單和每個一級菜單最后一個時不需要","號分隔了。 $counter = 0; $counter2 = 0;//循環(huán)一級菜單while($row_menu=mysql_fetch_assoc($rsmenu)){//while$counter = $counter + 1;//查詢是否有二級菜單$sqlmenu2 = "select * from wx_menu where par_type={$row_menu['id']} and user='$web' limit 5";$rsmenu2 = mysql_query($sqlmenu2);$rowNum2 = mysql_num_rows($rsmenu2);$jsonmenu.='{';$jsonmenu.='"name":"'.$row_menu['name'].'",';if(!$rowNum2){if($row_menu['type']){$jsonmenu.='"type":"'.$row_menu['type'].'",';}if($row_menu['Key_url']){ $isurl=check_url($row_menu['Key_url']);if($isurl){ $keyt="url";}else{ $keyt='key';}if($rowNum2){$jsonmenu.='"'.$keyt.'":"'.$row_menu['Key_url'].'",';}else{$jsonmenu.='"'.$keyt.'":"'.$row_menu['Key_url'].'"';}}}if($rowNum2){$jsonmenu.='"sub_button":[';}while($row_menu2=mysql_fetch_assoc($rsmenu2)){//while$counter2 = $counter2 + 1;$jsonmenu.='{';$jsonmenu.='"name":"'.$row_menu2['name'].'",';if($row_menu2['type']){$jsonmenu.='"type":"'.$row_menu2['type'].'",';}if($row_menu2['Key_url']){ $isurl2=check_url($row_menu2['Key_url']);if($isurl2){ $keyt2="url";}else{ $keyt2='key';}$jsonmenu.='"'.$keyt2.'":"'.$row_menu2['Key_url'].'"';} if ($counter2 < $rowNum2){ $jsonmenu.='},'; } else{$jsonmenu.='}'; }}//whileoverif($rowNum2){$jsonmenu.=']';} if ($counter < $rowNum){ $jsonmenu.='},'; } else{$jsonmenu.='}'; }}//whileover $jsonmenu.= ']}';//menu createecho $jsonmenu;//創(chuàng)建菜單$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret=$appsecret"; $output = https_request($url); $jsoninfo = json_decode($output,true); $access_token=$jsoninfo["access_token"]; /*$jsonmenu = '{ "button":[ { "name":"學校系統(tǒng)", "sub_button":[ { "type":"click", "name":"課程表", "key":"課程表" }, { "type":"click", "name":"個人信息", "key":"個人信息" }, { "type":"click", "name":"平時成績", "key":"平時成績" }, { "type":"click", "name":"獎懲記錄", "key":"獎懲記錄" } ] }, { "name":"技術分享", "sub_button":[ { "type":"click", "name":"移動WEB開發(fā)", "key":"移動WEB開發(fā)" }, { "type":"click", "name":"J2EE框架", "key":"J2EE框架" }, { "type":"click", "name":"Android開發(fā)", "key":"Android開發(fā)" }, { "type":"click", "name":"PHP框架", "key":"PHP框架" } ] },{ "name":"技術支持", "sub_button":[ { "type":"click", "name":"在線客服", "key":"在線客服" }, { "type":"click", "name":"技術分享", "key":"技術分享" }, { "type":"view", "name":"天氣預報", "url":"http://m.hao123.com/a/tianqi" } ] } ] }'; */ //創(chuàng)建菜單實現 $url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$access_token; $result = https_request($url,$jsonmenu); var_dump($result); function https_request($url,$data = null){ $curl = curl_init(); curl_setopt($curl,CURLOPT_URL,$url); curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0); curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0); if(!empty($data)){ curl_setopt($curl,CURLOPT_POST,1); curl_setopt($curl,CURLOPT_POSTFIELDS,$data); } curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); $output = curl_exec($curl); curl_close($curl); return $output; }?>
文章內容
重慶楚捷科技有限公司 一佰互聯(lián).巔云建站.(m.firstissue.net )@ 版權所有 網站備案:渝ICP備16004678號-2
企業(yè)文化
價值理念
做有價值的建站軟件 不止是建立網站,更提高網站建設公司價值
企業(yè)精神
以更簡單的方法服務于網站制作行業(yè), 美工與SEO融合做健康的網站
工作時間: 8:45-17:45
微信客服