List of usage examples for com.liferay.portal.kernel.theme NavItem NavItem
public NavItem(HttpServletRequest httpServletRequest, ThemeDisplay themeDisplay, Layout layout,
Map<String, Object> contextObjects)
From source file:com.liferay.site.navigation.taglib.servlet.taglib.NavigationTag.java
License:Open Source License
protected List<NavItem> getBranchNavItems(HttpServletRequest request) throws PortalException { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = themeDisplay.getLayout(); if (layout.isRootLayout()) { return Collections.singletonList(new NavItem(request, themeDisplay, layout, null)); }/*from ww w . j av a 2 s . co m*/ List<Layout> ancestorLayouts = layout.getAncestors(); List<NavItem> navItems = new ArrayList<>(ancestorLayouts.size() + 1); ListIterator<Layout> listIterator = ancestorLayouts.listIterator(ancestorLayouts.size()); while (listIterator.hasPrevious()) { Layout ancestorLayout = listIterator.previous(); navItems.add(new NavItem(request, themeDisplay, ancestorLayout, null)); } navItems.add(new NavItem(request, themeDisplay, layout, null)); return navItems; }
From source file:com.liferay.site.navigation.taglib.servlet.taglib.NavigationTag.java
License:Open Source License
protected List<NavItem> getNavItems(List<NavItem> branchNavItems) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); List<NavItem> navItems = new ArrayList<>(); NavItem rootNavItem = null;//from w w w. j a v a 2s . c o m if (_rootLayoutType.equals("relative")) { if ((_rootLayoutLevel >= 0) && (_rootLayoutLevel < branchNavItems.size())) { rootNavItem = branchNavItems.get(_rootLayoutLevel); } } else if (_rootLayoutType.equals("absolute")) { if (_rootLayoutLevel == 0) { navItems = NavItem.fromLayouts(request, themeDisplay, null); } else if (branchNavItems.size() >= _rootLayoutLevel) { rootNavItem = branchNavItems.get(_rootLayoutLevel - 1); } } else if (_rootLayoutType.equals("select")) { Layout layout = themeDisplay.getLayout(); if (Validator.isNotNull(_rootLayoutUuid)) { Layout rootLayout = LayoutLocalServiceUtil.getLayoutByUuidAndGroupId(_rootLayoutUuid, layout.getGroupId(), layout.isPrivateLayout()); rootNavItem = new NavItem(request, themeDisplay, rootLayout, null); } else { navItems = NavItem.fromLayouts(request, themeDisplay, null); } } if (rootNavItem != null) { navItems = rootNavItem.getChildren(); } return navItems; }