当前位置:首页 > CMS教程 > 其它CMS > 列表

Yii Framework框架获取分类下面的所有子类方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-02-28 15:35:43 浏览: 评论:0 

Yii是一个基于组件、用于开发大型 Web 应用的 高性能 PHP 框架。Yii 几乎拥有了 所有的特性 ,包括 MVC、DAO/ActiveRecord、I18N/L10N、caching、基于 JQuery 的 AJAX 支持、用户认证和基于角色的访问控制、脚手架、输入验证、部件、事件、主题化以及 Web 服务等等。

获取分类下面的所有子类方法:

  1. static function getMenuTree($arrCat$parent_id = 0, $level = 0,$all=True) 
  2.  { 
  3.   static $arrTree//使用static代替global 
  4.   if(!$all$arrTree =''
  5.   ifemptyempty($arrCat)) return FALSE; 
  6.   $level++; 
  7.   if($level == 1) $arrTree[] = $parent_id
  8.   foreach($arrCat as $key => $value
  9.   { 
  10.    if($value['parent_cid' ] == $parent_id
  11.    { 
  12.     //$value[ 'level'] = $level; 
  13.     $arrTree[] = $value['cid']; 
  14.     unset($arrCat[$key]); //注销当前节点数据,减少已无用的遍历 
  15.     self::getMenuTree($arrCat$value'cid'], $level); 
  16.    } 
  17.   } 
  18.   return $arrTree
  19.  } 

用上面这个方法的前提是要把分类写到缓存文件中,缓存文件写入方法如下:

  1. public function actionIndex2() 
  2.  { 
  3.  $filepath = Yii::getPathOfAlias('application').'/data/'
  4.  $arr = array(); 
  5.  $db = Yii::app()->db; 
  6.  $listinfo = $db->createCommand("select name,cid,parent_cid,root_cid from item_cat_info")->queryAll(); 
  7.  foreach($listinfo as $val
  8.  { 
  9.    $arr[$val['cid']] = array('cid'=>$val['cid'],'name'=>$val['name'],'parent_cid'=>$val['parent_cid'],'root_cid'=>$val['root_cid']); 
  10.  } 
  11.  
  12.  $applist = "<?php\nreturn ".var_export($arr, true).";\n?>"
  13.  file_put_contents($filepath.'itemcat.php'$applist); 
  14.   } 

Tags: Framework 框架获取分类

分享到: