• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

php分类目录下拉列表(递归+无限分类)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
1.在catalog类里面:

	/**
	 * 级联显示
	 * 分类目录递归列表
	 * 返回父类的所有子类
	 * &$categoryList 引用传值返回
	 */
const SHOW_SELECT='————请选择————';

public function showAllCategory(&$categoryList,$category,$parentid=0,$separate="") { foreach($category as $k=>$v){ if($v['parentid']==$parentid){ $v['title']=$separate.$v['title']; $categoryList[]=$v; $this->showAllCategory($categoryList,$category,$v['id'],$separate."——"); } } } /** * 分类目录下拉列表 */ public function showAllSelectCategory($module,$selectText='') { $category=Category::model()->select('id,title,parentid')->order('sort desc')->findAll("module=$module"); $categoryList=array(); $this->showAllCategory($categoryList,$category); if(!empty($selectText)) $categorys=array('0'=>$selectText); else $categorys=array(''=>Category::SHOW_SELECT); foreach($categoryList as $v){ $categorys[$v[id]]=$v[title]; } return $categorys; }

  2.控制器映射:

		$this->render('create',array(
			'model'=>$model,
			'categorys'=>Category::model()->showAllSelectCategory(Yii::app()->params['module']['article']),
		));

 3.视图:

	<div class="row">
		<?php echo $form->labelEx($model,'cid'); ?>
		<?php echo $form->dropDownList($model,'cid',$categorys); ?>
	</div>

  

 扩展INDEX页面的下拉搜索功能:

控制器代码:

    	if(!empty($_GET['cid'])){
    		$categoryList=array();
    		$categoryList[]=$_GET['cid'];
			Category::model()->getAllCategoryIds($categoryList,Category::model()->findAll('module='.Yii::app()->params['module']['article']),$_GET['cid']);
		    $criteria->addInCondition('cid',$categoryList);
    	}
    	if(!empty($_GET['title']))
    		$criteria->addSearchCondition('title',$_GET['title']);
		$dataProvider=new CActiveDataProvider('Article',array(
			'criteria'=>$criteria,
			'pagination'=>array(
        		'pageSize'=>Yii::app()->params['girdpagesize'],
    		),	
		));

  类里面递归把符合条件的之类也查找出来:

public function getAllCategoryIds(&$categoryList,$category,$parentid=0){
			foreach($category as $k=>$v){
			if($v['parentid']==$parentid){
				$categoryList[]=$v['id'];
				$this->getAllCategoryIds($categoryList,$category,$v['id']);
			}
		}
	}

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP二维数组根据某个元素(key)去重发布时间:2022-07-10
下一篇:
WIN7下PHP无法开启CURL,终极解决方案发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap