Example #1
0
 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 .= "&nbsp;&nbsp;";
         }
         $out .= $option['name'];
         $out .= "</option>";
     }
     $out .= "</select>";
     return $out;
 }
Example #3
0
 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;
 }
Example #5
0
    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;
    }