当前位置: 首页 > 编程笔记 >

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

岳泳
2023-03-14
本文向大家介绍Yii Framework框架获取分类下面的所有子类方法,包括了Yii Framework框架获取分类下面的所有子类方法的使用技巧和注意事项,需要的朋友参考一下

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

static function getMenuTree($arrCat, $parent_id = 0, $level = 0,$all=True)
 {
  static $arrTree; //使用static代替global
  if(!$all) $arrTree ='';
  if( empty($arrCat)) return FALSE;
  $level++;
  if($level == 1) $arrTree[] = $parent_id;
  foreach($arrCat as $key => $value)
  {
   if($value['parent_cid' ] == $parent_id)
   {
    //$value[ 'level'] = $level;
    $arrTree[] = $value['cid'];
    unset($arrCat[$key]); //注销当前节点数据,减少已无用的遍历
    self::getMenuTree($arrCat, $value[ 'cid'], $level);
   }
  }
  return $arrTree;
 }

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

public function actionIndex2()
 {
 $filepath = Yii::getPathOfAlias('application').'/data/';
 $arr = array();
 $db = Yii::app()->db;
 $listinfo = $db->createCommand("select name,cid,parent_cid,root_cid from item_cat_info")->queryAll();
 foreach($listinfo as $val)
 {
   $arr[$val['cid']] = array('cid'=>$val['cid'],'name'=>$val['name'],'parent_cid'=>$val['parent_cid'],'root_cid'=>$val['root_cid']);
 }

 $applist = "<?php\nreturn ".var_export($arr, true).";\n?>";
 file_put_contents($filepath.'itemcat.php', $applist);
  }
 类似资料:
  • X1.2新增 sp_sql_posts_bycatid($cid,$tag,$where) 功能: 根据分类文章分类ID 获取该分类下所有文章(包含子分类中文章),调用方式同sp_sql_posts 参数: $cid:分类id $tag:查询标签,以字符串方式传入,例:"order:post_date desc,listorder desc;"field:调用post指定字段,如(id,post

  • X2.2.0新增 sp_get_all_child_terms($term_id) 功能: 指定分类下的所有子分类 参数: $term_id: 分类id 返回: 类型array,指定分类下的所有子分类 使用: $terms = sp_get_all_child_terms(1);

  • X1.2新增 sp_sql_posts_paged_bycatid($cid,$tag,$pagesize,$pagetpl) 功能: 根据分类文章分类ID 获取该分类下所有文章(包含子分类中文章),已经分页,调用方式同sp_sql_posts_paged 参数: $cid:分类id $tag:查询标签,以字符串方式传入,例:"field:post_title,post_content;limi

  • sp_get_child_terms($term_id) 功能: 返回指定分类下的子分类 参数: $term_id:分类id 返回: 类型数组,指定分类下的子分类 示例: <?php $term_id=1; $terms=sp_get_child_terms($term_id ); //获取子分类信息 print_r($terms); //打印出子分类信息 ?> 返回数组item说明:

  • 问题内容: 你好 我想获得在运行时在Java中实现接口的类的列表,这样我就可以进行查找服务而不必对其进行硬编码。有没有简单的方法可以做到这一点?我不害怕 问题答案: 最简洁的答案是不。 长的答案是,子类可以以多种方式出现,从根本上说,根本不可能分类找到它们。 您无法在运行时执行此操作,但只有在加载了类以及如何知道它们已加载后才能找到类?您可以扫描每个JAR和类文件,但这不是确定的。另外,还有URL

  • allSubCategories标签 版本5.0.170927 新增 标签名 作用 包含属性 allSubCategories 获取指定分类下的所有子分类 categoryId ,item 标签属性: | 标签属性名 | 含义 | | --- | --- | | categoryId | 父级分类 id| | item | 循环变量,默认 vo | 代码演示 <portal:allSubCateg