コード例 #1
0
 public function editItem(BOL_MenuItem $item, $settings)
 {
     $languageService = BOL_LanguageService::getInstance();
     $currentLanguageId = $languageService->getCurrent()->getId();
     // Menu Item Name
     if (isset($settings[self::SETTING_LABEL])) {
         $languageService->addOrUpdateValue($currentLanguageId, $item->prefix, $item->key, $settings[self::SETTING_LABEL], false);
     }
     // Page Title
     if (isset($settings[self::SETTING_TITLE])) {
         $languageService->addOrUpdateValue($currentLanguageId, $item->prefix, $item->key . "_title", $settings[self::SETTING_TITLE], false);
     }
     // Page Content
     if (isset($settings[self::SETTING_CONTENT])) {
         $content = $settings[self::SETTING_CONTENT];
         $languageService->addOrUpdateValue($currentLanguageId, $item->prefix, $item->key . "_content", $content, false);
     }
     if (isset($settings[self::SETTING_VISIBLE_FOR])) {
         $item->visibleFor = is_array($settings[self::SETTING_VISIBLE_FOR]) ? array_sum($settings[self::SETTING_VISIBLE_FOR]) : (int) $settings[self::SETTING_VISIBLE_FOR];
     }
     if (isset($settings[self::SETTING_TYPE]) && $settings[self::SETTING_TYPE] == "local") {
         $settings[self::SETTING_URL] = null;
         $item->externalUrl = null;
     }
     if (isset($settings[self::SETTING_URL])) {
         $item->externalUrl = $settings[self::SETTING_URL];
     }
     $this->navigationService->saveMenuItem($item);
     $languageService->generateCache($currentLanguageId);
 }
コード例 #2
0
ファイル: navigation.php プロジェクト: ZyXelP/oxwall
 /**
  * Adds menu items to global menu system.
  *
  * @param string $menuType
  * @param string $routeName
  * @param string $prefix
  * @param string $key
  * @param string $visibleFor
  */
 public function addMenuItem($menuType, $routeName, $prefix, $key, $visibleFor = self::VISIBLE_FOR_ALL)
 {
     if (empty($menuType) || empty($routeName) || empty($prefix) || empty($key)) {
         throw new InvalidArgumentException();
     }
     $menuType = trim($menuType);
     $order = $this->navService->findMaxSortOrderForMenuType($menuType);
     $menuItem = new BOL_MenuItem();
     $menuItem->setType($menuType);
     $menuItem->setRoutePath($routeName);
     $menuItem->setPrefix($prefix);
     $menuItem->setKey($key);
     $menuItem->setOrder($order + 1);
     $menuItem->setVisibleFor($visibleFor);
     $this->navService->saveMenuItem($menuItem);
 }