/**
  * @param ModuleMenu_EntityMenu $oMenu
  */
 protected function _addMenuItem($oMenu)
 {
     // Создадим элемент меню
     $oMenuItem = E::ModuleMenu()->CreateMenuItem('plugin.sandbox.topics', array('text' => array('{{plugin.sandbox.menu_text}}', 'hook:new_sandbox_count' => array('red')), 'link' => R::GetPath('index/sandbox'), 'active' => array('topic_kind' => array('sandbox')), 'options' => array('class' => '', 'link_title' => '{{plugin.sandbox.menu_text}}')));
     // Добавим в меню
     $oMenu->AddItem($oMenuItem);
     // Сохраним
     E::ModuleMenu()->SaveMenu($oMenu);
 }
Example #2
0
 /**
  * Сохраняем меню
  *
  * @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);
 }
Example #3
0
 /**
  * Сохраняем меню
  *
  * @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());
 }