/**
  * 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 '';
     }
 }
예제 #2
0
 /**
  * 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()]);
 }
예제 #3
0
 /**
  * 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'));
 }