public function getTitleByLang($lang) { $pagesLang = PagesLang::model()->find('page_id=:page_id AND lang=:lang', array('page_id' => $this->id, 'lang' => $lang)); if ($pagesLang) { return $pagesLang->title; } return $this->lang->title; }
public function actionCreate() { $this->breadcrumbs = array_merge($this->breadcrumbs, array('Создание страницы')); $this->pageTitle = Yii::t('app', 'Создание страницы'); $model = new Pages(); $modelLang = new PagesLang(); if (Yii::app()->request->getPost('Pages')) { $model->attributes = Yii::app()->request->getPost('Pages'); $modelLang->attributes = Yii::app()->request->getPost('PagesLang'); $transaction = Yii::app()->db->beginTransaction(); try { $model->validate(); if (!$model->save()) { throw new Exception('Ошибка при сохранении данных.'); } $modelLang->page_id = $model->id; $modelLang->lang = Yii::app()->sourceLanguage; $modelLang->langs = "|" . Yii::app()->sourceLanguage . "|"; if (!$modelLang->save()) { throw new Exception('Ошибка при сохранении данных.'); } $transaction->commit(); Yii::app()->user->setFlash('success', Yii::t('app', 'Страница успешно создана')); Yii::app()->request->redirect($this->createUrl('index')); } catch (Exception $e) { $transaction->rollBack(); $error = $e->getMessage(); } } $this->render('create', array('model' => $model, 'modelLang' => $modelLang)); }
public function getPagesLangModel($lang) { $pagesLang = PagesLang::model()->find('page_id=:page_id AND lang=:lang', array('page_id' => $this->id, 'lang' => $lang)); if (!$pagesLang) { $pagesLang = new PagesLang(); //var_dump($this->lang);die; $pagesLang->attributes = $this->lang->attributes; $pagesLang->lang = $lang; $pagesLang->id = null; return $pagesLang; } return $pagesLang; }