如何在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)的某些值:
如果您知道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)如果您知道mail-domainPortal实例,可以company通过以下方式找到:
String mailDomain = "liferay.com";
Company company = CompanyLocalServiceUtil.getCompanyByMx(mailDomain);
long globalGroupId = company.getGroup().getGroupId();
Run Code Online (Sandbox Code Playgroud)如果您知道virtual hostPortal实例,可以company通过以下方式找到:
String virtualHost = "localhost";
Company company = CompanyLocalServiceUtil.getCompanyByVirtualHost(virtualHost);
long globalGroupId = company.getGroup().getGroupId();
Run Code Online (Sandbox Code Playgroud)CompanyLocalServiceUtil对于那些感兴趣的人,还有其他有用的方法可供探索.
谢谢黄色的领先,这真的很有帮助.
您可以使用以下内容:
GroupLocalServiceUtil.getCompanyGroup(PortalUtil.getDefaultCompanyId()).getGroupId();
Run Code Online (Sandbox Code Playgroud)