public function actionList($type = 'all', $stype = null, $sword = null) { $query = SiteCategory::find()->where(['site_id' => $this->module->siteId])->orderby('created_at'); if ($type !== 'all') { $query->andWhere(['type' => $type]); } if ($sword !== null) { $query->andWhere(['like', "{$stype}", $sword]); } $pagination = new Pagination(['totalCount' => $query->count()]); $items = $query->offset($pagination->offset)->limit($pagination->limit)->all(); $typeItems = ArrayHelper::merge(['all' => \Yii::t($this->module->messageCategory, '{attribute} {action}', ['attribute' => \Yii::t($this->module->messageCategory, 'type'), 'action' => \Yii::t($this->module->messageCategory, 'filtering')])], SiteCategory::defaultAttributeItems('type')); return $this->render($this->action->id, ['type' => $type, 'stype' => $stype, 'sword' => $sword, 'items' => $items, 'pagination' => $pagination, 'typeItems' => $typeItems]); }
public function actionList($cid = 0, $type = 'all', $status = 'all', $stype = null, $sword = null) { $query = SiteArticle::find()->alias('a')->where(['a.site_id' => $this->module->siteId])->orderby('a.status desc, a.created_at desc'); if ($cid) { $query->andWhere(['a.category_id' => $cid]); } if ($type != 'all') { $query->joinWith('category b')->andWhere(['b.type' => $type]); } if ($status != 'all') { $query->andWhere(['a.status' => $status]); } if ($sword !== null) { $query->andWhere(['like', "a.{$stype}", $sword]); } $pagination = new Pagination(['totalCount' => $query->count()]); $items = $query->offset($pagination->offset)->limit($pagination->limit)->all(); $categoryItems = ArrayHelper::merge([0 => \Yii::t($this->module->messageCategory, '{attribute} {action}', ['attribute' => \Yii::t($this->module->messageCategory, 'category'), 'action' => \Yii::t($this->module->messageCategory, 'filtering')])], ArrayHelper::map(SiteCategory::find()->select(['id', 'name'])->where(['site_id' => $this->module->siteId])->orderby('created_at desc')->all(), 'id', 'name')); $categoryTypeItems = ArrayHelper::merge(['all' => \Yii::t($this->module->messageCategory, '{attribute} {action}', ['attribute' => \Yii::t($this->module->messageCategory, 'type'), 'action' => \Yii::t($this->module->messageCategory, 'filtering')])], SiteCategory::defaultAttributeItems('type')); $statusItems = ArrayHelper::merge(['all' => \Yii::t($this->module->messageCategory, '{attribute} {action}', ['attribute' => \Yii::t($this->module->messageCategory, 'status'), 'action' => \Yii::t($this->module->messageCategory, 'filtering')])], SiteArticle::defaultAttributeItems('status')); return $this->render($this->action->id, ['cid' => $cid, 'type' => $type, 'status' => $status, 'stype' => $stype, 'sword' => $sword, 'items' => $items, 'pagination' => $pagination, 'categoryItems' => $categoryItems, 'categoryTypeItems' => $categoryTypeItems, 'statusItems' => $statusItems]); }