如何在Liferay中获得全球(公司)组ID?

Mar*_*ark 10 global liferay

如何在Liferay中获取全局(公司)组ID而无需访问ThemeDisplay

PS:ThemeDisplay很简单:themeDisplay.getCompanyGroupId().

小智 18

当您Company的门户网站中只有一个时:

Company company = CompanyLocalServiceUtil.getCompanyByMx(PropsUtil.get(PropsKeys.COMPANY_DEFAULT_WEB_ID));
long globalGroupId = company.getGroup().getGroupId(); 
Run Code Online (Sandbox Code Playgroud)


Pra*_*h K 13

扩展黄色的答案,您可以找到company如果您知道Portal Instance(Company)的某些值:

  1. 如果您知道webIdPortal实例,可以company通过以下方式找到:

    String webId = "liferay.com"; // PropsUtil.get(PropsKeys.COMPANY_DEFAULT_WEB_ID)
    Company company = CompanyLocalServiceUtil.getCompanyByWebId(webId);
    long globalGroupId = company.getGroup().getGroupId();
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果您知道mail-domainPortal实例,可以company通过以下方式找到:

    String mailDomain = "liferay.com";
    Company company = CompanyLocalServiceUtil.getCompanyByMx(mailDomain);
    long globalGroupId = company.getGroup().getGroupId();
    
    Run Code Online (Sandbox Code Playgroud)
  3. 如果您知道virtual hostPortal实例,可以company通过以下方式找到:

    String virtualHost = "localhost";
    Company company = CompanyLocalServiceUtil.getCompanyByVirtualHost(virtualHost);
    long globalGroupId = company.getGroup().getGroupId();
    
    Run Code Online (Sandbox Code Playgroud)

CompanyLocalServiceUtil对于那些感兴趣的人,还有其他有用的方法可供探索.

谢谢黄色的领先,这真的很有帮助.


sim*_*iby 6

您可以使用以下内容:

GroupLocalServiceUtil.getCompanyGroup(PortalUtil.getDefaultCompanyId()).getGroupId();
Run Code Online (Sandbox Code Playgroud)