2010-10-18 59 views
3

可以说我有组织对象。如何创建指向该组织公开页面的网址?在Liferay 6中创建组织/社区页面的链接

有一个类NavItem创建链接到给定的布局,但哪一个“头版”没有记录(在其他所有内容中)。然后,至少只要用户是社区成员,就可以使用PortletURLImpl(以令人费解的方式)。

回答

6

的URL到Liferay的页面遵循以下格式:

/[web|group]/[group-friendly-url]/[page-friendly-url] 
  • 第一部分决定是否链接到公共(网络)或私人(组)页面。您还可以在portal.properties中更改这些字符串(搜索layout.friendly.url.private.group.servlet.mapping和layout.friendly.url.public.servlet.mapping)。在这种情况下,您应该使用配置的字符串而不是默认的字符串。
  • 第二部分是de友好的URL组。如您所知,Liferay中的每个组织都与一个组关联。所以你可以这样做:organization.getGroup()。getFriendlyURL()
  • 最后一部分是你想要访问的页面的友好URL。如果您没有指定任何页面,Liferay将自动重定向到组的第一页。

在你的情况下,将由此足以做到:

String url = "/web"+organization.getGroup().getFriendlyURL(); 

祝你好运!

+2

如果您有权访问ThemeDisplay变量,也可以使用PortalUtil.getGroupFriendlyURL(groupId,false,themeDisplay)。 – fimez 2013-08-13 13:44:24

+0

我需要什么才能以编程方式获取“/ web”或“/ group”? – Manticore 2016-06-09 13:48:11

+0

/web - > themeDisplay.getPathFriendlyURLPublic(),/ group - > themeDisplay.getPathFriendlyURLPrivateGroup() – 2016-10-24 10:08:54