/** * 查询子节点数据 * @param type $params * array(rootID => 上级ID * scope => 查询范围 * ) * @return boolean */ public static function getChild($params) { $menuArr = array(); if ($params["rootID"] && $params["scope"]) { //获取菜单模型 $menuModel = FrontMenu::model(); $scope = $params["scope"]; //获取参数 $model = $menuModel->{$scope}()->parent($params["rootID"])->findAll(); //获取查询范围 $scopes = $menuModel->scopes(); $columns = explode(",", $scopes[$scope]["select"]); //赋值 foreach ($model as $key => $m) { if (isset($params["role"]) && !in_array($m->ID, explode(',', $params["role"])) && $m->Name != "工作台") { continue; } //工作台菜单如果没有菜单图标则表示不显示 if ($scope == "stage" && !$m->MenuIcon) { continue; } foreach ($columns as $column) { $menuArr[$key][lcfirst($column)] = $m->{$column}; } //获取子菜单 if ($scope == "sliderbar" || $scope == 'nav') { $pamArr = array("rootID" => $m->ID, "scope" => $scope); if (isset($params["role"])) { $pamArr["role"] = $params["role"]; } $menuArr[$key]["children"] = FrontMenu::getChild($pamArr); } } } return $menuArr; }
public function getFootMenu() { return FrontMenu::getChild(array("rootID" => 73, "scope" => "sliderbar")); }