public function processModel(CEvent $event) { $model = $this->model; $idInstance = $model->getIdInstance(); // Удаляем все модули для данного шаблона SiteModulePlace::model()->resetScope()->deleteAllByAttributes(array('id_module_template' => $idInstance)); // Получаем все модули $modules = $this->modules; foreach ($modules as $m) { $idModule = $m->getIdInstance(); $placePos = HU::post("mod_" . $idModule . "_plc"); $seq = HU::post("mod_" . $idModule . "_seq"); if (!$placePos || $placePos == "onVisible") { continue; } if (!is_numeric($seq)) { $seq = 0; } $place = new SiteModulePlace(); $place->id_module = $idModule; $place->id_module_template = $idInstance; $place->place = $placePos; $place->sequence = $seq; $place->save(); } }
public function restoreSiteModulePlace($idSiteModule, array $placeConfig) { foreach ($placeConfig as $place) { if (SiteModuleTemplate::model()->exists('id_module_template=:id', array(':id' => $place['id_module_template']))) { $siteModulePlace = new SiteModulePlace(); $siteModulePlace->id_module = $idSiteModule; $siteModulePlace->sequence = $place['sequence']; $siteModulePlace->place = $place['place']; $siteModulePlace->id_module_template = $place['id_module_template']; $siteModulePlace->save(); } } }