12

如何在不访问的情况下获取 Liferay 中的全局(公司)组 ID ThemeDisplay

PS:用ThemeDisplay起来很简单:themeDisplay.getCompanyGroupId()

4

4 回答 4

21

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

Company company = CompanyLocalServiceUtil.getCompanyByMx(PropsUtil.get(PropsKeys.COMPANY_DEFAULT_WEB_ID));
long globalGroupId = company.getGroup().getGroupId(); 
于 2012-08-21T14:16:02.377 回答
14

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

  1. 如果您知道webIdPortal Instance 的名称,可以company通过以下方式找到:

    String webId = "liferay.com"; // PropsUtil.get(PropsKeys.COMPANY_DEFAULT_WEB_ID)
    Company company = CompanyLocalServiceUtil.getCompanyByWebId(webId);
    long globalGroupId = company.getGroup().getGroupId();
    
  2. 如果您知道mail-domainPortal Instance 的名称,可以company通过以下方式找到:

    String mailDomain = "liferay.com";
    Company company = CompanyLocalServiceUtil.getCompanyByMx(mailDomain);
    long globalGroupId = company.getGroup().getGroupId();
    
  3. 如果您知道virtual hostPortal Instance 的名称,可以company通过以下方式找到:

    String virtualHost = "localhost";
    Company company = CompanyLocalServiceUtil.getCompanyByVirtualHost(virtualHost);
    long globalGroupId = company.getGroup().getGroupId();
    

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

感谢Yellow的领导,这真的很有帮助。

于 2012-08-22T06:36:52.063 回答
7

您可以使用以下内容:

GroupLocalServiceUtil.getCompanyGroup(PortalUtil.getDefaultCompanyId()).getGroupId();
于 2012-10-01T12:05:35.897 回答
0

如果您需要文档库的此信息,您可以使用

public static long getDefaultCompanyId(){
        long companyId = 0;
        try{ companyId = getDefaultCompany().getCompanyId(); }
        catch(Exception e){ System.out.println(e.getClass() + " " +e.getMessage()); }
       return companyId;
}

public static long getDefaultGroupId (){

    long companyId = getDefaultCompanyId();
    long globalGroupId = 0L;

    Group group = null;
    try {
        group = GroupLocalServiceUtil.getGroup(companyId, "Guest");
    } catch (PortalException | SystemException e) {
        e.printStackTrace();
        return globalGroupId;
    }
     globalGroupId = group.getGroupId();


    return globalGroupId;
}
于 2017-07-14T08:50:19.647 回答