function getCatalogInfo() { // $fileName = $this->getPath().$this->_props['name'].'.'.Q::ini('appini/catalog/fileInfoExt', 'inf'); // //读取文件编目信息 // $handle = @fopen($fileName, 'a+'); // if($handle){ // $filesize = @filesize($fileName); // if ($filesize > 0){ // $json = @fread ($handle, $filesize); // $catalogInfo = Helper_JSON::decode($json); // }else{ // $catalogInfo = array(); // } // @fclose ($handle); // } $catalogInfo = $this->_props['catalog_info'] == null ? array() : Helper_JSON::decode($this->_props['catalog_info']); //获得编目信息分类 $catalog = Catalog::find('path like ? and enabled=1', '%,' . ($this->_props['type'] + 1) . ',%')->order('weight desc')->asArray()->getAll(); $catalog = Helper_Array::toTree($catalog, 'id', 'parent_id', 'children'); //合并编目信息 foreach ($catalog as $k => $v) { if (isset($catalogInfo[$v['name']])) { foreach ($v['children'] as $_k => $_v) { if (!isset($catalogInfo[$v['name']][$_v['name']])) { $catalogInfo[$v['name']][$_v['name']] = ''; } } } else { foreach ($v['children'] as $_k => $_v) { $catalogInfo[$v['name']][$_v['name']] = ''; } } } return $catalogInfo; }
function render() { //得到属性的值 $id = $this->_extract('id', 'parent_id'); $value = $this->_extract('value'); $out = null; //得到所有的类别 $teaType = TeaType::find()->asArray()->getAll(); //转换成item=>name数据 $teaTree = Helper_Array::toTree($teaType, 'id', 'parent_id'); $teaTree = TeaType::treeToArray($teaTree); //生成有落差下拉类表的html $out .= "<select id=\"{$id}\" name=\"{$id}\" >"; $out .= "<option value=\"-1\" >请选择类别</option>"; foreach ($teaTree as $option) { $out .= "<option value=\"{$option['id']}\" "; //是否该分类 是父分类 if ($option['id'] == $value) { $out .= "selected=\"selected\""; } $out .= ">"; for ($i = 0; $i < $option['level']; $i++) { $out .= " "; } $out .= $option['name']; $out .= "</option>"; } $out .= "</select>"; return $out; }
static function getArrayTree() { $category = Category::find('enabled=1')->asArray()->getAll(); $category = Helper_Array::toTree($category, 'id', 'parent_id', 'childrens'); $category = Helper_ArrayTree::dumpArrayTree($category, -1); return $category; }
/** * 茶叶栏目列表 * */ function actionIndex() { // 为 $this->_view 指定的值将会传递数据到视图中 # $this->_view['text'] = 'Hello!'; $tea_type = TeaType::find()->asArray()->getAll(); //转换成分类的树 $tea_tree = Helper_Array::toTree($tea_type, 'id', 'parent_id', 'nodes'); $tea_tree = TeaType::treeToArray($tea_tree, 'nodes'); $this->_view['teatypes'] = $tea_tree; }
function render() { //得到属性的值 $name = $this->_extract('name'); $catch_id = 'Dy_menu' . $name; //读取缓存 $rowSet = Q::cache($catch_id); //读取失败 if (!$rowSet) { $rowSet = Sysmenu::find()->order('parent_id ASC, order_pos ASC')->asArray()->getAll(); //写缓存 Q::writeCache($catch_id, $rowSet); } /** * 验证不能访问的菜单 */ $app = MyApp::instance(); foreach ($rowSet as $offset => $row) { if ($row['controller'] == '') { continue; } $udi = "{$row['controller']}/{$row['action']}"; //权限判断 if (!$app->authorizedUDI($app->currentUserRoles(), $udi)) { //删除没有权限访问的菜单 unset($rowSet[$offset]); } else { $args = array(); parse_str($row['args'], $args); $rowSet[$offset]['url'] = url($udi, $args); } } //数组转换成树 $menu = Helper_Array::toTree($rowSet, 'menu_id', 'parent_id', 'submenu'); // $mainMenu = & new Helper_Menu($menu) ; $mainMenu = new Helper_Menu($menu); $output = "var {$name} = "; $output .= $mainMenu->returnJsArray(true); $output .= ";\n"; echo <<<EOT <div id="mainMenuBar"></div> <link href="js/ThemeOffice/theme.css" rel="stylesheet" type="text/css" /> <script language="javascript" type="text/javascript" src="js/JSCookMenu.js"></script> <script language="javascript" type="text/javascript" src="js/ThemeOffice/theme.js"></script> <script language="javascript" type="text/javascript"> {{$output}} cmDraw ('mainMenuBar', myMenu, 'hbr', cmThemeOffice); </script> EOT; }