Страницы портала в Liferay действительно называются Layouts
в API и таблицах БД.Они идентифицируются полем plid
, их можно получить с помощью LayoutLocalServiceUtil
и связанных API-интерфейсов, а также с помощью некоторых других вызовов, таких как themeDisplay.getLayout()
.
Однако, чтобы создать строку, содержащую URL-адрес страницы, которую выПридется объединить дружественный URL-адрес портала, группы и самого макета (т. е. /web/guest/home
- web
- это URL-адрес портала для общедоступных страниц, guest
- это удобный URL-адрес гостевой группы по умолчанию, а home
- это удобный URL-адрес домашней страницы.страница / макет по умолчанию).Это может быть сложно, так как вы должны проверить, является ли это публичной или частной страницей и т. Д.
И как только вы начнете использовать виртуальные хосты с удобными URL-адресами для групп, все изменится.Так что это не очень хороший способ.
Чтобы не создавать вручную URL-адреса и иметь URL-адреса, которые гарантированно будут правильными, вы должны использовать com.liferay.portal.util.PortalUtil.getLayoutFriendlyURL(Layout layout, ThemeDisplay themeDisplay)
статический метод PortalUtil
- он выполнит всю необходимую работудля тебя.Хотя вам также необходимо предоставить ThemeDisplay
, а не только Layout.