示例#1
0
 public function actionIndex()
 {
     //        $category = Category::model()->findByPk(5);
     //        $childs = $category->descendants()->findAll();
     //        foreach ($childs as $c)
     //            $ids[] = $c->id;
     //        $ids_string = implode(',', $ids);
     //        $criteria = new CDbCriteria(array(
     //            'condition' => 'status=' . Post::STATUS_PUBLISHED .' AND  category_id in ('.$ids_string.')',
     //            'order' => 'create_time DESC',
     //            'with' => 'commentCount',
     //        ));
     //        if (isset($_GET['tag']))
     //            $criteria->addSearchCondition('tags', $_GET['tag']);
     $search = \Yii::$app->request->get('tag');
     $catgegories = Tree::findOne(['name' => '单页分类']);
     $children = $catgegories->children()->all();
     foreach ($children as $c) {
         $ids[] = $c->id;
     }
     $ids_string = implode(',', $ids);
     $dataProvider = new ActiveDataProvider(['query' => !empty($search) ? Post::find()->where('category_id not in (' . $ids_string . ')')->orderBy('id desc')->andWhere(['like', 'tags', $search]) : Post::find()->where('category_id not in (' . $ids_string . ')')->orderBy('id desc'), 'pagination' => ['pageSize' => 20]]);
     //        $dataProvider = new ActiveDataProvider('Post', array(
     //            'pagination' => array(
     //                'pageSize' => Yii::app()->params['postsPerPage'],
     //            ),
     //            'criteria' => $criteria,
     //        ));
     return $this->render('index', array('dataProvider' => $dataProvider));
 }
示例#2
0
 public function actionList()
 {
     $catalog = Yii::$app->request->get('catalog');
     $item = Yii::createObject(Item::className());
     $items = $item::getItemsByCategory($catalog)->andWhere(['is_show' => 1]);
     $tree = Yii::createObject(Tree::className());
     $categories = $tree::getCategoriesById($catalog);
     if ($items && $categories) {
         $pages = new Pagination(['totalCount' => $items->count(), 'pageSize' => '24']);
         $items = $items->offset($pages->offset)->limit($pages->limit)->all();
         if ($items) {
             return $this->render('list', ['currentCategory' => Tree::findOne(['id' => $catalog]), 'categories' => $categories, 'items' => $items, 'pages' => $pages]);
         }
     }
     return $this->render('//site/error', ['name' => 'catalog', 'message' => Yii::t('catalog', 'There is no product')]);
 }
示例#3
0
文件: Item.php 项目: shuangjie/galaxy
 public static function getItemsByCategory($id)
 {
     $treeNodes = Tree::getTreesById($id);
     //category has children
     if ($treeNodes) {
         $categories = '(';
         foreach ($treeNodes as $key => $treeNode) {
             $categories = $categories . $key . ',';
         }
         $categories = substr($categories, 0, strlen($categories) - 1) . ')';
         $items = static::find()->where('category_id in ' . $categories);
     } else {
         $tree = Tree::findOne(['id' => $id]);
         if ($tree) {
             $items = static::find()->where(['category_id' => $tree->id]);
         } else {
             return false;
         }
     }
     return $items;
 }