![](/img/trans.png)
[英]How to get Layout instance's URL in Liferay? What is friendly URL base?
[英]Get Layout Friendly URL In Liferay
我想获得一个基于布局ID的布局的友好URL。 例如,/ web / group / page。 目前我是这样做的:
Layout layout = LayoutLocalServiceUtil.getLayout(groupId, false, layoutId);
String groupFriendlyUrl = GroupLocalServiceUtil.getGroup(groupId).getFriendlyURL(); //will output /group
String layoutFriendlyUrl = layout.getFriendlyURL(); //will output /page
String webFriendlyUrl = String.format("/web%s%s", groupFriendlyUrl, layoutFriendlyUrl); //will output /web/group/page
我想知道是否有更好的方法来完成这个我可以使用一种方法的完整路径/ web / group / page。
如果您有plid
(页面布局ID),请使用如下所示的getLayoutFriendlyURL()
:
Layout selectedLayout = LayoutLocalServiceUtil.getLayout(plid);
String url = PortalUtil.getLayoutFriendlyURL(selectedLayout, themeDisplay);
ThemeDisplay theme = (ThemeDisplay) getPortletRequest().getAttribute(WebKeys.THEME_DISPLAY);
final long GROUP_ID = theme.getLayout().getGroupId(); Layout destinationLayout = LayoutLocalServiceUtil.getFriendlyURLLayout(GROUP_ID, false, friendlyUrl);
Layout layout = LayoutLocalServiceUtil.getLayout(destinationLayout.getPlid()); String completeUrl = PortalUtil.getLayoutFullURL(layout, getThemeDisplay());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.