/** * Сохраняем меню * * @param ModuleMenu_EntityMenu $oMenu */ public function SaveMenu($oMenu) { // Установим объект для дальнейшего использования Config::Set("menu.data.{$oMenu->getId()}.items", $oMenu->GetItems()); // И конфиг сохраним $aNewConfigData = array(); /** @var ModuleMenu_EntityItem $oMenuItem */ foreach ($oMenu->GetItems() as $sMenuId => $oMenuItem) { $aNewConfigData[$sMenuId] = $oMenuItem ? $oMenuItem->getItemConfig() : ""; } Config::WriteCustomConfig(array("menu.data.{$oMenu->getId()}.list" => $aNewConfigData)); Config::Set("menu.data.{$oMenu->getId()}.list", $aNewConfigData); }
/** * Сохраняем меню * * @param ModuleMenu_EntityMenu $oMenu */ public function SaveMenu($oMenu) { // Get config data of the menu $aMenuConfig = $oMenu->GetConfig(true); $sConfigKey = 'menu.data.' . $oMenu->getId(); // Set in current common config Config::Set($sConfigKey, null); Config::Set($sConfigKey, $aMenuConfig); // Save custom config Config::ResetCustomConfig($sConfigKey); Config::WriteCustomConfig(array($sConfigKey => $aMenuConfig)); // Clear cache of the menu $this->ClearMenuCache($oMenu->getId()); }