12

アクセスせずにLiferayでグローバル(会社)グループIDを取得するにはどうすればよいThemeDisplayですか?

PS:ThemeDisplayそれは簡単です:themeDisplay.getCompanyGroupId()

4

4 に答える 4

21

Companyポータルに1つしかない場合:

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

黄色の答えcompanyを拡張すると、ポータルインスタンスの値を知っている場合に見つけることができます( Company):

  1. ポータルインスタンスのを知っている場合は、次webIdの方法で見つけることができますcompany

    String webId = "liferay.com"; // PropsUtil.get(PropsKeys.COMPANY_DEFAULT_WEB_ID)
    Company company = CompanyLocalServiceUtil.getCompanyByWebId(webId);
    long globalGroupId = company.getGroup().getGroupId();
    
  2. ポータルインスタンスのを知っている場合は、次mail-domainの方法で見つけることができますcompany

    String mailDomain = "liferay.com";
    Company company = CompanyLocalServiceUtil.getCompanyByMx(mailDomain);
    long globalGroupId = company.getGroup().getGroupId();
    
  3. ポータルインスタンスのを知っている場合は、次virtual hostの方法で見つけることができます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 に答える