public function actionAjaxSave() { if (isset($_POST['SeoFriendlyUrl'])) { $this->canUseDirectUrl = (int) Yii::app()->request->getPost('canUseDirectUrl'); $friendlyUrl = SeoFriendlyUrl::model()->findByPk($_POST['SeoFriendlyUrl']['id']); if (!$friendlyUrl) { $friendlyUrl = new SeoFriendlyUrl(); } $friendlyUrl->attributes = $_POST['SeoFriendlyUrl']; if ($friendlyUrl->save()) { echo CJSON::encode(array('status' => 'ok', 'html' => $this->renderPartial('//modules/seo/views/_form', array('friendlyUrl' => $friendlyUrl), true))); Yii::app()->end(); } else { echo CJSON::encode(array('status' => 'err', 'html' => $this->renderPartial('//modules/seo/views/_form', array('friendlyUrl' => $friendlyUrl), true))); Yii::app()->end(); } } throw404(); }
public static function getAndCreateForModel($model) { if (!param('genFirendlyUrl')) { return false; } // костылек $modelName = get_class($model) == 'UserAds' ? 'Apartment' : get_class($model); $friendlyUrl = SeoFriendlyUrl::model()->findByAttributes(array('model_name' => $modelName, 'model_id' => $model->id)); // Если еще нет, создаем if (!$friendlyUrl) { $friendlyUrl = new SeoFriendlyUrl(); if ($model->id > 0 && $friendlyUrl->setDefault($model)) { $friendlyUrl->save(); } else { $friendlyUrl->model_name = $modelName; $friendlyUrl->model_id = $model->id; } } return $friendlyUrl; }