/** * Récupère la liste des pages qui doivent apparaître dans le menu principal en frontend * Construit le code HTML pour afficher ces éléments de menu */ public function run() { if (!isset($this->languageCode)) { $this->languageCode = mb_substr(Yii::$app->language, 0, 2); } $pages = WebPage::find()->asMenuItems($this->languageCode)->all(); if (count($pages)) { return $this->render('frontendPagesMenuItems', compact('pages')); } else { return ''; } }
/** * Affichage de la liste des objets * * @return mixed */ public function actionIndex() { $dataProvider = new ActiveDataProvider(['query' => WebPage::find()->joinWith(['base', 'language'], true)->orderBy('base_pages.code')]); return $this->render('index', ['dataProvider' => $dataProvider, 'emptyBasePages' => BasePage::find()->withoutWebPages()->asArray()->all()]); }
/** * Affichage de la page de consultation * * @param string $id * @return mixed */ public function actionView($id) { $model = $this->findModel($id); $relatedPages = WebPage::find()->byBaseTextId($model->base_id)->language($model->language->iso_639_code)->all(); return $this->render('view', compact('model', 'relatedPages')); }