/**
  * 
  * @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);
     }
 }
Exemple #2
0
 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);
 }