在liferay中的不同页面上显示导航菜单?

时间:2012-03-27 09:47:14

标签: java java-ee menu web liferay

我已经开始学习Liferay 6.1

我希望实现的目标是:在多个页面上显示导航菜单。

我做的是:

  • 在页面上添加了导航portlet并将其配置为显示页面的所有链接(并将当前页面链接标记为粗体)

我研究的是:

  • 我在几个论坛上看过,在scopeable文件中将导航Portlet的liferay-portlet.xml标记更改为true。

但我面临的问题是:

  • 我找不到liferay的Navigation portlet存在的位置。就像我在liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/webapps/ROOT/html/portlet/navigation中找到它一样,但它不包含任何liferay-portlet.xml文件。

请帮忙!

4 个答案:

答案 0 :(得分:2)

您可以创建一个PageTemplate来保存公共portlet。然后,当您创建页面时,您可以选择PageTemplate,您的页面将从该模板获取所有portlet

答案 1 :(得分:1)

好的,最后我找到了一些解决方案,可以在所需的页面上显示稳定的导航菜单。

  • 首先将导航菜单添加到所需页面。

  • 转到Dockbar->添加 - >页。 (添加页面的菜单名称)。

  • 转到Dockbar-> Manage->页

  • 在这里,您可以找到“从页面添加portlet”选项 - >点击 - >选择放置导航菜单的页面。

  • 选择您的页面,然后按“复制”,然后按“保存”。

最后,您将看到新页面加载了现有portlet中找到的所有portlet,并且也选择了相关的菜单链接。

就是这样。

此外,您将看到所有portlet都已复制,因此您可以删除不需要的portlet。而且这些可以让您维护布局而无需修改主题文件中的任何内容。

谢谢!

答案 2 :(得分:0)

您要查找的文件位于

ROOT/WEB-INF/liferay-portlet.xml

导航portlet是名为71的portlet(不要问我为什么)。

无论如何,我不明白你想要达到什么样的行为?

答案 3 :(得分:0)

也许你想制作一个主题?也许我在这里很傻,但在主题中有整个门户布局的速度模板(例如,页脚,标题和portlet中间的空间),还有导航的速度代码。在实践中它类似于:

<nav>
    #foreach($nav_item in $nav_items)
        ##do things with nav items for example get a child item:
        #if($nav_item.isSelected)
            #set($nav_childs = $nav_item.getChild()
        #end
    #end

    #foreach($child in $nav_childs.getChildren)
       ##do stuff with sub items
    #end
</nav>