【问题标题】:Creating links to organization/community pages in Liferay 6在 Liferay 6 中创建组织/社区页面的链接
【发布时间】:2011-04-26 19:54:33
【问题描述】:

假设我有一个组织对象。如何创建指向该组织的公共页面的 url?

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

【问题讨论】:

    标签: url liferay portal


    【解决方案1】:

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

    /[web|group]/[group-friendly-url]/[page-friendly-url]
    
    • 第一部分决定是链接到公共(网络)还是私人(组)页面。您还可以在 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();
    

    祝你好运!

    【讨论】:

    • 如果您有权访问 ThemeDisplay 变量,也可以使用 PortalUtil.getGroupFriendlyURL(groupId, false, themeDisplay)。
    • 以编程方式获取“/web”或“/group”需要什么?
    • /web -> themeDisplay.getPathFriendlyURLPublic(), /group -> themeDisplay.getPathFriendlyURLPrivateGroup()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多