skeeks\cms\models\CmsComponentSettings::createByComponentUserId PHP Method

createByComponentUserId() public static method

public static createByComponentUserId ( Component $component, integer $user_id ) : static
$component skeeks\cms\base\Component
$user_id integer
return static
    public static function createByComponentUserId($component, $user_id)
    {
        $settings = static::fetchByComponentUserId($component, $user_id);
        if (!$settings) {
            $settings = new static(['component' => $component->className(), 'user_id' => $user_id]);
            if ($component->namespace) {
                $settings->namespace = $component->namespace;
            }
            $settings->save();
        }
        return $settings;
    }

Usage Example

Example #1
0
 public function actionSetLang()
 {
     $rr = new RequestResponse();
     $newLang = \Yii::$app->request->post('code');
     $cmsLang = CmsLang::find()->active()->andWhere(['code' => $newLang])->one();
     if (!$cmsLang) {
         $rr->message = 'Указанный язык отлючен или удален';
         $rr->success = false;
         return $rr;
     }
     $rr->success = true;
     $userSettings = CmsComponentSettings::createByComponentUserId(\Yii::$app->admin, \Yii::$app->user->id);
     $userSettings->setSettingValue('languageCode', $cmsLang->code);
     if (!$userSettings->save()) {
         $rr->message = 'Не удалось сохранить настройки';
         $rr->success = false;
         return $rr;
     }
     \Yii::$app->admin->invalidateCache();
     return $rr;
 }
All Usage Examples Of skeeks\cms\models\CmsComponentSettings::createByComponentUserId