/** * Adds category SEO data * * @param integer $languageId * @param integer $categoryId * @return mixed * @throws ForbiddenHttpException */ public function actionAddSeo($languageId = null, $categoryId = null) { if (!empty($categoryId)) { $category = Category::findOne($categoryId); $category_translation = CategoryTranslation::find()->where(['category_id' => $categoryId, 'language_id' => $languageId])->one(); if (empty($category_translation)) { $category_translation = new CategoryTranslation(); } } else { $category = new Category(); $category_translation = new CategoryTranslation(); } if (Yii::$app->request->isPost) { $category->load(Yii::$app->request->post()); $category_translation->load(Yii::$app->request->post()); if ($category->validate() && $category_translation->validate()) { $category->save(); $category_translation->category_id = $category->id; $category_translation->language_id = $languageId; $category_translation->save(); Yii::$app->getSession()->setFlash('success', 'Data were successfully modified.'); } } return $this->render('save', ['category' => $category, 'languageId' => $languageId, 'selectedLanguage' => Language::findOne($languageId), 'languages' => Language::findAll(['active' => true]), 'viewName' => 'add-seo', 'params' => ['category' => $category, 'category_translation' => $category_translation, 'languageId' => $languageId]]); }