/** * * @param string $tag - menu namespace, like "top_nave" * @param int $x - x-coordinate of item * @param int $y - y-coordinate of item * @param array|MenuContainer $arrMenuFields */ public function AddToCollection($tag, $x, $y, $arrMenuFields) { $oMenu = $this->GetFromCollection($tag, $x, $y); $bNewMenuIsObj = $arrMenuFields instanceof \Av\Component\Menu\MenuContainer; $bOldMenuIsObj = $oMenu instanceof \Av\Component\Menu\MenuContainer; if ($bOldMenuIsObj == false) { /* * replace at the position */ $this->_menu_collection[$tag][$x][$y] = $bNewMenuIsObj ? $arrMenuFields : new MenuContainer($arrMenuFields); } else { /* * change resource/dinamic only */ $oMenu->SetMenuRes($bNewMenuIsObj ? $arrMenuFields->GetMenuRes() : $arrMenuFields); $oMenu->SetMenuDynamic($bNewMenuIsObj ? $arrMenuFields->GetMenuDynamic() : $arrMenuFields); } }
public function AddMenuAction($params = null) { /* * Basic Model test. * Name is Menu item internal name */ // 1. create menu(s) if (!isset($params[self::POS_X]) || !isset($params[self::POS_Y]) || !isset($params[self::NAME])) { return false; } $locale = isset($params[ResContainer::LOCALE]) ? $params[ResContainer::LOCALE] : \Av\Localization\LocalizationController::GetLocale()->GetCurrentLocale(); $oMenuContainer = new MenuContainer(array(MenuContainer::TAG => empty($params[self::TAG]) ? '' : $params[self::TAG], MenuContainer::NAME => $params[self::NAME], MenuContainer::POS_X => $params[self::POS_X], MenuContainer::POS_Y => $params[self::POS_Y])); /* * add text resource (lable) to menu item. * PARAM_NAME is visiable menu lable, like "Home" */ if (isset($params[\Av\Res\iWebInterface::PARAM_NAME])) { $oMenuContainer->SetMenuRes(array(ResContainer::TYPE => \Av\Res\iResTypeInterface::SHORT_STR_NAME, ResContainer::VALUE => $params[\Av\Res\iWebInterface::PARAM_NAME], ResContainer::LOCALE => $locale)); } /* * add image resource ( inage id ) to menu item */ if (isset($params[\Av\Res\iWebInterface::PARAM_LINK])) { $oMenuContainer->SetMenuRes(array(ResContainer::TYPE => \Av\Res\iResTypeInterface::SHORT_STR_NAME, ResContainer::VALUE => $params[\Av\Res\iWebInterface::PARAM_LINK], ResContainer::LOCALE => $locale)); } /* * add video resource ( video id ) to menu item */ if (isset($params[\Av\Res\iWebInterface::PARAM_VIDEO_ID])) { $oMenuContainer->SetMenuRes(array(ResContainer::TYPE => \Av\Res\iResTypeInterface::SHORT_STR_NAME, ResContainer::VALUE => $params[\Av\Res\iWebInterface::PARAM_VIDEO_ID], ResContainer::LOCALE => $locale)); } /* * add link resource to menu item */ if (isset($params[\Av\Res\iWebInterface::PARAM_IMG_ID])) { $oMenuContainer->SetMenuRes(array(ResContainer::TYPE => \Av\Res\iResTypeInterface::LONG_STR_NAME, ResContainer::VALUE => $params[\Av\Res\iWebInterface::PARAM_LINK], ResContainer::LOCALE => $locale)); } $oMenu = new \Av\Component\Menu\MenuController(); $oMenu->AddMenu($oMenuContainer); }