如何在Liferay Portal中隐藏移动设备页面上的portlet?

时间:2012-06-13 14:36:25

标签: mobile themes liferay

我正在使用移动设备规则为不同的移动设备设置操作。我设置了两个动作: 1.将布局更改为一列和 2.将主题更改为显示块菜单和WebContent Display列的移动主题。

我需要从移动版本隐藏桌面版本上的portlet:即。相关资产portlet,从移动设备查看页面时的广告portlet。我需要以最简单的方式实现这一目标。 portlet配置设置是否可以更改以指示它们是否使用移动设备显示?

2 个答案:

答案 0 :(得分:2)

在Liferay支持的帮助下找到了我的问题的解决方案。隐藏portlet的两种可能方法:

  1. 将自定义操作添加到移动设备规则插件。
  2. 扩展Liferay的渲染逻辑:读取http属性并确定浏览器是否可移动并隐藏所需的portlet。 例如,使用hook for render_portlet.jsp并使用以下内容进行自定义:

    if(BrowserSnifferUtil.isMobile(request)){     if(" 1_WAR_webformportlet_INSTANCE_qlQYswM4fJFO" .equals(portletId)){//示例         supportsMobile = false;     } }

答案 1 :(得分:1)

一种可能性是隐藏移动主题中的“相关资产portlet”。此解决方案的缺点是您可以转移不可见的标记。

其他解决方案是为移动设备创建一个页面,该页面不包含“相关资产portlet”。然后,您创建移动规则,以便在用户从移动设备访问原始页面时重定向用户。