如何在不访问ThemeDisplay
的情况下获取Liferay中的全局(公司)组ID?
P.S。:使用ThemeDisplay
很简单:themeDisplay.getCompanyGroupId()
。
答案 0 :(得分:18)
当您的门户网站中只有一个Company
时:
Company company = CompanyLocalServiceUtil.getCompanyByMx(PropsUtil.get(PropsKeys.COMPANY_DEFAULT_WEB_ID));
long globalGroupId = company.getGroup().getGroupId();
答案 1 :(得分:13)
扩展黄色的answer,如果您知道门户网站实例的某些值(company
),则可以找到Company
:
如果您知道门户网站实例的webId
,可以通过以下方式找到company
:
String webId = "liferay.com"; // PropsUtil.get(PropsKeys.COMPANY_DEFAULT_WEB_ID)
Company company = CompanyLocalServiceUtil.getCompanyByWebId(webId);
long globalGroupId = company.getGroup().getGroupId();
如果您知道门户网站实例的mail-domain
,可以通过以下方式找到company
:
String mailDomain = "liferay.com";
Company company = CompanyLocalServiceUtil.getCompanyByMx(mailDomain);
long globalGroupId = company.getGroup().getGroupId();
如果您知道门户网站实例的virtual host
,可以通过以下方式找到company
:
String virtualHost = "localhost";
Company company = CompanyLocalServiceUtil.getCompanyByVirtualHost(virtualHost);
long globalGroupId = company.getGroup().getGroupId();
还有其他有用的方法可以在CompanyLocalServiceUtil
中为有兴趣的人探讨。
感谢Yellow领导,这真的很有帮助。
答案 2 :(得分:6)
您可以使用以下内容:
GroupLocalServiceUtil.getCompanyGroup(PortalUtil.getDefaultCompanyId()).getGroupId();
答案 3 :(得分:0)
如果您需要文档库的此信息,可以使用
content_category