コード例 #1
0
 /**
  * Update param translation.
  * Users which have 'updateOwnProduct' permission can update params only for Product models that have been created by their.
  * Users which have 'updateProduct' permission can update params for all Product models.
  *
  * @param int $id
  * @param int $languageId
  * @return mixed
  * @throws NotFoundHttpException
  */
 public function actionUpdateParam(int $id, int $languageId)
 {
     if (!empty($id) && !empty($languageId)) {
         $paramTranslation = ParamTranslation::find()->where(['param_id' => $id, 'language_id' => $languageId])->one();
         if (empty($paramTranslation)) {
             $paramTranslation = new ParamTranslation();
             $paramTranslation->param_id = $id;
             $paramTranslation->language_id = $languageId;
         }
         if (Yii::$app->request->isPost) {
             $paramTranslation->load(Yii::$app->request->post());
             if ($paramTranslation->validate()) {
                 $paramTranslation->save();
                 Yii::$app->getSession()->setFlash('success', 'Data were successfully modified.');
             } else {
                 Yii::$app->getSession()->setFlash('danger', 'Failed to change the record.');
             }
             return $this->redirect(['add-param', 'id' => $paramTranslation->param->product_id, 'languageId' => $languageId]);
         }
         return $this->renderPartial('update-param', ['paramTranslation' => $paramTranslation, 'languageId' => $languageId]);
     } else {
         throw new NotFoundHttpException();
     }
 }
コード例 #2
0
ファイル: Param.php プロジェクト: black-lamp/blcms-shop
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getTranslations()
 {
     return $this->hasMany(ParamTranslation::className(), ['param_id' => 'id']);
 }