コード例 #1
0
ファイル: _mikrorayon.php プロジェクト: Aplay/Fastreview_site
        	$query->active()
                ->with(array(
                    'images',
                    'city',
                    ));
          
        	$query->applyCategoriesWithSub($model);
        	$cr=new CDbCriteria;
	        $cr->distinct = true; // предотвращает повтор объявлений на странице

	        if($this->city->id)
	        {
	        	$cr->join = 'LEFT JOIN "orgs_district" "orgsdistrict" ON ("orgsdistrict"."org"="t"."id")';
	        	$cr->addCondition('city.id='.$this->city->id.' and orgsdistrict.district='.$district->id);
	        }	
	        $query->getDbCriteria()->mergeWith($cr);
	        $provider = new CActiveDataProvider($query, array(
	            // Set id to false to not display model name in
	            // sort and page params
	            'id'=>false,
	            'pagination'=>array(
	                'pageSize'=>25,
	            )
	        ));
	        if($provider->totalItemCount > 0)
	        {
				$url =  Yii::app()->createAbsoluteUrl('/catalog/catalog/districtview', array('city'=>$this->city->url,  'url'=>$model->url, 'district'=>'mikrorayon', 'district_url'=>$district->url));
				echo '<div class="col-sm-6 col-xs-12"><a class="graytogreen" href="'.$url.'">'.$district->district_name.'</a></div>';
			}
		}
	}
コード例 #2
0
    public function getNearRayonOrg($model,$orgsCats,$limit,$near,$nearmicro)
    {
    	/* ближайшие организации */
        $district = 'rayon';
        $districts = $model->orgsDistrict;
        $district_model = null;
        if(!empty($districts)){
        	foreach ($districts as $d) {
        		if((mb_strpos($d->districtid->district_name, 'район', 0, 'UTF-8') !== false ) && (mb_strpos($d->districtid->district_name, 'микрорайон', 0, 'UTF-8') === false )){
        			$district_model = $d->districtid;
        			break;
        		}
        	}
        }
        if(!$district_model) {
        	return null;
        }
        $query = new Orgs(null);
        $query->active()
                ->with(array(
                    'images',
                    'city',
                    ));
        // все категории организации
        $query->applyCategoriesWithSub($orgsCats);

        $cr=new CDbCriteria;
        $cr->distinct = true; // предотвращает повтор объявлений на странице

    	$cr->join = 'LEFT JOIN "orgs_district" "orgsdistrict" ON ("orgsdistrict"."org"="t"."id")';
    	$cr->addCondition('city.id='.$this->city->id.'  and orgsdistrict.district='.$district_model->id);
    	$notin = array();
    	if($near){
    		foreach ($near->data as $n) {
    			$notin[] = $n->id;
    		}
    	} 
    	if($nearmicro){
    		foreach ($nearmicro->data as $n) {
    			$notin[] = $n->id;
    		}
    	} 
    	$notin[] = $model->id;
    	$cr->addNotInCondition('orgsdistrict.org',$notin);
    	

        $cr->limit = $limit;  
        $query->getDbCriteria()->mergeWith($cr);
        $nearProvider = new CActiveDataProvider($query, array(
            // Set id to false to not display model name in
            // sort and page params
            'id'=>false,
            'pagination'=>false
        ));
        return $nearProvider;
    }