在Liferay 6中创建指向组织/社区页面的链接

Blo*_*ler 3 url portal liferay

可以说我有组织对象.如何创建指向该组织的公共页面的URL?

有一个类NavItem可以创建指定布局的链接,但是哪个"首页"没有记录(在其他所有内容中).然后就是PortletURLImpl可以使用(以复杂的方式),至少只要用户是社区的成员.

p.m*_*ten 6

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

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

在你的情况下,这样做就足够了:

String url = "/web"+organization.getGroup().getFriendlyURL();
Run Code Online (Sandbox Code Playgroud)

祝好运!

  • 如果您有权访问ThemeDisplay变量,也可以使用PortalUtil.getGroupFriendlyURL(groupId,false,themeDisplay). (2认同)