/** * Ищет перевод по фиче и языку. Если не находит, создает новый с названием оригинала * @param int $feature_id * @param int $lang_id * @return array */ public static function getTranslation($feature_id, $lang_id) { $translation = self::findOne(['feature_id' => $feature_id, 'language_id' => $lang_id]); if (!$translation) { $original_name = Features::find()->select('name')->where(['id' => $feature_id])->scalar(); $translation = new self(); $translation->name = $original_name; $translation->feature_id = $feature_id; $translation->language_id = $lang_id; $translation->save(); } return $translation->toArray(); }
public function actionValues() { $current_mode = 1; $current_feature_id = false; $current_feature_name = false; if (Yii::$app->request->get('mode')) { $current_mode = Yii::$app->request->get('mode'); } if (Yii::$app->request->get('feature_id')) { $current_feature_id = Yii::$app->request->get('feature_id'); $current_feature_name = Features::find()->select('name')->where(['id' => $current_feature_id])->scalar(); } $features_values_form = new FeaturesValuesForm(); if ($features_values_form->load(Yii::$app->request->post())) { $features_values_form->addValue($current_feature_id); } $features_values_list = FeaturesValues::getPaginatedValues($current_feature_id); return $this->render('values', ['current_mode' => $current_mode, 'current_feature_id' => $current_feature_id, 'current_feature_name' => $current_feature_name, 'features_values_list' => $features_values_list, 'features_values_form' => $features_values_form, 'pages' => FeaturesValues::$pages, 'features_values_synonims' => FeaturesValuesSynonims::getUnsorted()]); }