я смог получить organizationId регулярных организаций, используя следующий код:Liferay: Получение Id организации для организации верхнего уровня
ThemeDisplay themeDisplay = LiferayFacesContext.getInstance().getThemeDisplay();
long liferayOrganizationId = themeDisplay.getScopeGroup().getOrganizationId();
Но этот код не работает для Оргам верхнего уровня. Как я могу получить organizationId для организации верхнего уровня?
Это именно то, что я получаю. У меня есть определенные пользовательские поля, определенные для организации верхнего уровня. Как получить значения этих полей в этом случае? Я имею в виду, есть ли getOrgByName() или что-то подобное? –
Если вы работаете на сайте (= scopeGroup), который не принадлежит организации, я не уверен, чего вы хотите достичь. Вы хотите получить доступ к любой общей (известной по имени) организации? Вы можете использовать http://docs.liferay.com/portal/6.1/javadocs/com/liferay/portal/service/OrganizationLocalService.html#getOrganization(long,%20java.lang.String), чтобы получить его, но в целом я «Я озадачен тем, чего вы пытаетесь достичь. –
Ссылка, которую вы дали, - это то, что я использовал в конечном итоге. В принципе, во всех моих организациях есть связанные с ними сайты, за исключением организации верхнего уровня. Таким образом, мой код работал повсюду, кроме случаев, когда на главном сайте, который Liferay создает по умолчанию. Этот ответ решил эту проблему. Благодаря! –