Пример #1
0
    public static function getRubsByParentId()
    {
       /* Выводятся только рубрики, если имеется parent */
       $connection=Yii::app()->db;
       $sql = 'SELECT DISTINCT t.category, cat.id, cat.title, cat.url, cat.parent_id
       FROM article_category t 
       LEFT OUTER JOIN category_article cat 
       ON (cat.id=t.category) 
       ORDER BY title';
       $dependency = new CDbCacheDependency('SELECT MAX(updated_date) FROM article');
       $command = $connection->cache(3600, $dependency)->createCommand($sql);
       $cats = $command->queryAll();

        $rubs = array();
        if($cats){
            foreach ($cats as $key => $row) {
                $parent_id = (int)$row['parent_id'];
                $rubs[$parent_id][]   = $row;
            }
        }
        

        $output =  array();

        if($rubs)
        {
            foreach($rubs as $key=>$value)
            {
                
                    $cat = CategoryArticle::model()->findByPk($key);

                     if($cat)
                        $output[$key] = array('id'=>$key,'title'=>$cat->title,'url'=>$cat->url,'par'=>$cat->parent_id);
                     else 
                        $output[$key] = array('id'=>$key,'title'=>'','url'=>'','par'=>0);
                     $cnt = 0;
                        for ($i=0;$i<sizeof($value);$i++)
                        {
                            if ($value[$i]['title']!=''){

                                $output[$key]['items'][] = array('id'=>$value[$i]['id'],'title'=>$value[$i]['title'],'url'=>$value[$i]['url']);
                            }
                        }
                    
                
                
            }
            
        }
        $uns = array();
        if($output){
            foreach($output as $k=>$v){
                if(!empty($v['par'])){
                    if(isset($output[$v['par']]['items'])){
                        $output[$v['par']]['items'][] = $v;
                        $sorted =  $output[$v['par']]['items'];
                        usort($sorted, MHelper::get('Array')->sortFunction('title'));
                        $output[$v['par']]['items'] = $sorted;
                        unset($output[$k]);
                    }
                }
                if($k==0 && !empty($v['items'])){
                    foreach ($v['items'] as $key => $value) {
                        foreach($output as $k2=>$v2){
                                if($value['id'] == $v2['id']){
                                    $uns[] = $key;
                                    break;
                                }
                        }
                    }
                    
                }
            }
           
            if(!empty($uns)){
                foreach ($uns as $v) {
                    unset($output[0]['items'][$v]);
                }
            }
            usort($output, MHelper::get('Array')->sortFunction('title'));
        }

        return $output;
    }
Пример #2
0
    'dataProvider'=>$dataProvider,
    'itemView'=>'application.modules.catalog.views.article._article_listview2',
    'id'=>'article_listview',       // must have id corresponding to js above
    'itemsCssClass'=>'item-article-list one-column',
    'template'=>"{items}"
));

} 
*/

if(!empty($blocks)){ ?>
<div class="row">
<div id="main_list_grid_m1"  data-columns>
<?php

	usort($blocks, MHelper::get('Array')->sortFunction('time'));
	$blocks = array_reverse($blocks);
	foreach ($blocks as $k=>$block) { 

		echo '<div class="item item-article-list one-column col-lg-4 col-md-6 col-sm-6 col-xs-12">';
		echo $block['html'];
		echo '</div>';
		
	 } ?>
</div> 
</div>
<?php } ?>

<div style="font-size:20px;font-weight:300;margin-left:26px;margin-bottom:18px;" class="rootCategory">
Каталог организаций
</div>
Пример #3
0
    public static function getRubsByParentId()
    {
       /* Выводятся только рубрики, если имеется parent */
       $connection=Yii::app()->db;
       $sql = 'SELECT DISTINCT t.categorie, cat.id, cat.title, cat.url, cat.parent_id
       FROM objects t 
       LEFT OUTER JOIN category cat 
       ON (cat.id=t.categorie) 
       WHERE  t.status='.Objects::STATUS_ACTIVE.'  ORDER BY title';
       $command = $connection->cache(3600)->createCommand($sql);
       $cats = $command->queryAll();

        $rubs = array();
        if($cats){
            foreach ($cats as $key => $row) {
                $parent_id = (int)$row['parent_id'];
                $rubs[$parent_id][]   = $row;
            }
        }
        

        $output =  array();

        if($rubs)
        {
            foreach($rubs as $key=>$value)
            {
                
                    $cat = Category::model()->findByPk($key);
                     if($cat)
                        $output[$key] = array('id'=>$key,'title'=>$cat->title,'url'=>$cat->url,'par'=>$cat->parent_id);
                     else 
                        $output[$key] = array('id'=>$key,'title'=>'','url'=>'','par'=>0);
                   
                        for ($i=0;$i<sizeof($value);$i++)
                        {
                            if ($value[$i]['title']!='')
                                $output[$key]['items'][] = array('id'=>$value[$i]['id'],'title'=>$value[$i]['title'],'url'=>$value[$i]['url']);
                        }
                    
                
                
            }
            
        }

        if($output){
            foreach($output as $k=>$v){
                if(!empty($v['par'])){
                    if(isset($output[$v['par']]['items'])){
                        $output[$v['par']]['items'][] = $v;
                        $sorted =  $output[$v['par']]['items'];
                        usort($sorted, MHelper::get('Array')->sortFunction('title'));
                        $output[$v['par']]['items'] = $sorted;
                        unset($output[$k]);
                    }
                }
            }
            usort($output, MHelper::get('Array')->sortFunction('title'));
        }

        return $output;

    }