/** * Affichage du formulaire de création * * @return mixed */ public function actionCreate() { $model = new WebText(); $request = Yii::$app->request; $ok = true; $baseModel = null; if ($request->isPost) { // Mise à jour du WebText et du BaseText associé /** @var BaseText $baseModel */ $baseModel = BaseText::findOne($request->post()['WebText']['base_id']); $ok &= $baseModel && $baseModel->load($request->post()) && $baseModel->save(); $ok &= $model->load($request->post()) && $model->save(); if (!$ok) { Yii::$app->session->setFlash('flash-warning', HLib::t('messages', 'There are errors in your form')); } else { return $this->redirectAfterCreateSuccess($model); } } else { $baseModel = new BaseText(); } // Affichage ou ré-affichage $baseTexts = BaseText::find()->orderBy('code ASC')->all(); $languages = Language::find()->orderBy('name')->all(); return $this->render('create', compact('model', 'baseTexts', 'languages', 'baseModel')); }
/** * @return \yii\db\ActiveQuery */ public function getWebTexts() { return $this->hasMany(WebText::className(), ['base_id' => 'id']); }
/** * renvoie la liste des textes associés à cette page (même page/racine, même langue) * * @return WebText[]|array */ public function getTexts() { return WebText::find()->byWebPage($this)->all(); }
/** * Affichage de la page de consultation * * @param string $id * @return mixed */ public function actionView($id) { $model = $this->findModel($id); return $this->render('view', ['model' => $model, 'relatedTexts' => WebText::find()->byWebPage($model)->all()]); }