public function actionSettings() { $sitemapPage = new SitemapPage('search'); $sitemapPage->unsetAttributes(); $sitemapPage->setAttributes(Yii::app()->getRequest()->getParam('SitemapPage', [])); if (Yii::app()->getRequest()->isPostRequest) { \yupe\models\Settings::saveModuleSettings($this->getModule()->id, ['cacheTime' => Yii::app()->getRequest()->getParam('cacheTime')]); $this->getModule()->getSettings(true); $this->redirect('settings'); } $this->render('settings', ['sitemapPage' => $sitemapPage]); }
/** * Метода сохранения настроек модуля: * * @param string $moduleId - идетификтор метода * @param array $params - массив настроек * * @return bool **/ public function saveParamsSetting($moduleId, $params) { $paramValues = []; // Перебираем все параметры модуля foreach ($params as $param_name) { $param_value = Yii::app()->getRequest()->getPost($param_name, null); // Если параметр есть в post-запросе добавляем его в массив if ($param_value !== null) { $paramValues[$param_name] = $param_value; } } // Запускаем сохранение параметров return Settings::saveModuleSettings($moduleId, $paramValues); }