public function run() { //$comments = Comment::find()->where(['status' => Comment::STATUS_ACTIVE])->orderBy(['create_time' => SORT_DESC])->limit($this->maxComments)->all(); $portlet = CmsCatalog::getRootCatalogSub2($this->id, CmsCatalog::find()->all()); $rootCatalog = CmsCatalog::findOne(['id' => CmsCatalog::getRootCatalogId($this->id, CmsCatalog::find()->asArray()->all())]); $portletTitle = $rootCatalog ? $rootCatalog->title : ''; if (!($portlet && $portletTitle)) { return; } return $this->render('sideMenu', ['title' => $portletTitle, 'portlet' => $portlet]); }
public function beforeAction($action) { if (parent::beforeAction($action)) { //menu $id = Yii::$app->request->get('id'); $rootId = $id ? CmsCatalog::getRootCatalogId($id, CmsCatalog::find()->asArray()->all()) : 0; $allCatalog = CmsCatalog::find()->where(['status' => Status::STATUS_ACTIVE, 'is_nav' => CmsCatalog::IS_NAV_YES])->orderBy(['sort_order' => SORT_ASC, 'id' => SORT_ASC])->all(); foreach ($allCatalog as $catalog) { $item = ['label' => $catalog->title, 'active' => $catalog->id == $rootId]; if ($catalog->redirect_url) { // redirect to other site $item['url'] = $catalog->redirect_url; } else { $item['url'] = Yii::$app->getUrlManager()->createUrl(['/cms/default/' . $catalog->page_type . '/', 'id' => $catalog->id, 'surname' => $catalog->surname]); } if (!empty($item)) { array_push($this->mainMenu, $item); } } Yii::$app->params['mainMenu'] = $this->mainMenu; // sub menu 2 if (isset(Yii::$app->params['mainMenu2'])) { $allCatalog = CmsCatalog::get(0, CmsCatalog::find()->asArray()->all()); foreach ($allCatalog as $catalog) { $item = ['label' => $catalog['title'], 'active' => $catalog['id'] == $id]; if ($catalog['redirect_url']) { // redirect to other site $item['url'] = $catalog['redirect_url']; } else { $item['url'] = $catalog['parent_id'] != 0 ? Yii::$app->getUrlManager()->createUrl(['/cms/default/' . $catalog['page_type'] . '/', 'id' => $catalog['id'], 'surname' => $catalog['surname']]) : '#'; } if ($catalog['parent_id'] == 0) { $this->mainMenu2[$catalog['id']] = $item; } else { if (isset($this->mainMenu2[$catalog['parent_id']])) { $this->mainMenu2[$catalog['parent_id']]['items'][$catalog['id']] = $item; } } } Yii::$app->params['mainMenu2'] = $this->mainMenu2; } return true; // or false if needed } else { return false; } }