public function actionDetails($id)
 {
     $item = SiteArticle::findOne(['id' => $id, 'site_id' => $this->module->siteId, 'status' => [SiteArticle::STATUS_RELEASED, SiteArticle::STATUS_FEATURED]]);
     if (!$item || $item->superior->status != SiteCategory::STATUS_ENABLED || $item->superior->type == SiteCategory::TYPE_DOWNLOAD) {
         throw new NotFoundHttpException(\Yii::t($this->module->messageCategory, 'no matched data'));
     }
     return $this->accessed()->render($this->action->id, ['item' => $item->accessed($this->module->statisticsEnable)]);
 }
 public function actionEdit($id = 0, $cid = 0)
 {
     $categorys = SiteCategory::find()->select(['id', 'name', 'type'])->where(['site_id' => $this->module->siteId, 'status' => SiteCategory::STATUS_ENABLED])->orderby('created_at desc')->all();
     if (!$categorys) {
         \Yii::$app->session->setFlash('error', '1|' . \Yii::t($this->module->messageCategory, 'please {action} {attribute} first', ['action' => \Yii::t($this->module->messageCategory, 'add'), 'attribute' => \Yii::t($this->module->messageCategory, 'category')]));
         return $this->redirect(['category/edit']);
     }
     if (!$id) {
         $item = new SiteArticle();
         $item->scenario = 'add';
         $item->site_id = $this->module->siteId;
         if ($cid) {
             $item->category_id = $cid;
         }
     } else {
         $item = SiteArticle::findOne(['id' => $id, 'site_id' => $this->module->siteId]);
         if (!$item) {
             throw new NotFoundHttpException(\Yii::t($this->module->messageCategory, 'no matched data'));
         }
         $item->scenario = 'edit';
     }
     if (\Yii::$app->request->isPost) {
         $item->thumbnail_id = null;
         $item->picture_ids = [];
         $item->attachment_id = null;
         if ($item->load(\Yii::$app->request->post()) && $item->commonHandler()) {
             \Yii::$app->session->setFlash('item', '0|' . \Yii::t($this->module->messageCategory, 'operation succeeded'));
             return $this->redirect(['article/list', 'cid' => $item->category_id]);
         }
         \Yii::$app->session->setFlash('item', '1|' . $item->firstErrorInfirstErrors);
     }
     $categoryNames = ArrayHelper::map($categorys, 'id', 'name');
     $categoryTypes = ArrayHelper::map($categorys, 'id', 'type');
     $categoryTypeItems = SiteCategory::defaultAttributeItems('type');
     return $this->render($this->action->id, ['item' => $item, 'categoryNames' => $categoryNames, 'categoryTypes' => Json::encode($categoryTypes), 'categoryTypeItems' => Json::encode($categoryTypeItems)]);
 }