if($type = 'all') $this->data= R::getAll( 'select * from menu' );
$this->teamData();
if($this->rdata) return $this->rdata;
false を返します。
}
function addMenu($data){
foreach($data as $key =>$value){
if($value == '请充填写内容!') $data[$key]='';
}
if($data){
$menu = R::dispense('menu');
$menu->pid = $data['pid'];
$menu->name = $data['name'];
$menu->url = $data['url'];
$menu->icon = $data['icon'];
$id = R::store($menu);
$id を返す;
}
}
//json 文字串を返します
パブリック関数 getJsonMenu(){
$data = $this->getChild(1);
$this->jdata = $data;
$this->recursive($this->jdata);
return json_encode($this->jdata);
}
//递归関数数 实现不断的生成子节点,用了引用,感觉这是如来神笔,要不然实现太复杂了
public function recursive(&$data = array()){
foreach($data as $key =>$value){
$data[$key]['children']= $this->getChild($value['id']);
$tmp = &$data[$key]['children'];
if($tmp){
$this->recursive($tmp);
}
}
}
// 組データ、形を生成するために返される選択は 1 つの数組です
//数组の形式です
パブリック関数teamData($pid=1){
foreach ($this->data as $key => $value) {
if($value['pid']==$pid){
$this->level++;
array_push($this->rdata, array('name'=>$value['name'],'level'=>$this->level,'id'=>$value['id ']));
$tmpdata = $this->teamData($value['id']);
if(!$tmpdata){
$this->level--;
続ける;
}
}
}
}
//ベースpid拿取下面の子データ
パブリック関数 getChild($pid){
$data= R::getAll( "pid = {$pid} のメニューから * を選択" );
$tmpdata = array();
if($data){
foreach ($data as $key => $value) {
$tmpdata[$key]['id'] = $value['id'];
$tmpdata[$key]['icon'] = $value['icon'];
$tmpdata[$key]['text'] = $value['name'];
$tmpdata[$key]['url'] = $value['url'];
$tmpdata[$key]['children'] = array();
}
}
$tmpdata を返す;
}
}
http://www.bkjia.com/PHPjc/477141.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/477141.html技術記事 ?php class k_model_menu_menu { private $data = array();プライベート $rdata = array();プライベート $jdata = array();プライベート $レベル = 0;プライベート $paret = array(); function getOption($type= p...