我正在使用移动设备规则为不同的移动设备设置操作。我设置了两个操作:1. 将布局更改为一列,2. 将主题更改为显示块菜单和 WebContent 显示列的移动主题。
我需要从移动版本中隐藏桌面版本上的 portlet:即。相关资产 portlet,从移动设备查看页面时的广告 portlet。我需要以最简单的方式完成此任务。portlet 配置设置是否可以更改以指示它们是否使用移动设备显示?
在 Liferay 支持的帮助下找到了我的问题的解决方案。隐藏 portlet 的两种可能方式:
扩展 Liferay 的呈现逻辑:读取 http 属性并确定浏览器是否是移动的,并隐藏您需要的 portlet。例如,对 render_portlet.jsp 使用挂钩并使用以下内容进行自定义:
if (BrowserSnifferUtil.isMobile(request)) { if("1_WAR_webformportlet_INSTANCE_qlQYswM4fJFO".equals(portletId)) { //example supportsMobile = false; } }
一种可能性是在移动主题中隐藏您的“相关资产portlet”。此解决方案的缺点是您传输不可见的标记。
其他解决方案是为移动设备创建一个页面,该页面不包含“相关资产 portlet”。然后,如果用户从移动设备访问原始页面,则创建重定向用户的移动规则。