OmgDef / yii2-multilingual-behavior

Yii2 port of the yii-multilingual-behavior.
146 stars 60 forks source link

Не сохраняется модель #56

Closed quinlena closed 6 years ago

quinlena commented 7 years ago

Здравствуйте! Возникла сложность, если в контроллере указать protected function findModel($id) { if (($model = Post::find()->where(['id' => $id])->localized()->one()) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } } То выбираются и подставляются в зависимости от языка верные значения в поля, но при сохранении не сохраняются. Я так понимаю, для сохранения нужно писать свой behavior? Если указать multilingual(), то сохраняет, но сложность в том, что тогда во view нужно указывать названия атрибутов вида title_en, что затруднит добавление новых языков и их перевод. Подскажите, пожалуйста, что нужно сделать?

luys commented 7 years ago

I suppose you should look at this solution: https://github.com/OmgDef/yii2-multilingual-behavior/issues/46

OmgDef commented 7 years ago

Здравствуйте, @quinlena! Если я вас правильно понял, то для динамического добавления переводов отдельным моделям, без необходимости наличия фоллбэка на язык по умолчанию, я советую вам использовать расширение https://github.com/creocoder/yii2-translateable

vadim-bulochnik commented 7 years ago

Такая же проблема. Есть ли решение?

vasyl-dmytruk commented 7 years ago

try this: protected function findModel($id) { if (($model = Post::find()->where(['id' => $id])->multilingual()->one()) !== null) { return $model; } multilingual instead of localized

vadim-bulochnik commented 7 years ago

It works in this way, thanks. But anyway I think should be possibility to use localized() for updating record. I don't want to load all multilingual records, but in fact use only one.