如何使Liferay登录portlet重定向到最大化版本以显示验证错误?

时间:2011-11-30 13:48:22

标签: liferay liferay-6 liferay-velocity

我有一个主题,其中有一个嵌入在头文件中的登录portlet,我不希望验证消息出现在这个登录portlet上,而是我希望Liferay重定向到具有验证错误的登录portlet的最大化版本

有没有简单的方法通过Velocity模板文件执行此操作?

我能想出的最佳解决方法是对HTML表单进行硬编码,该表单发布到登录struts操作,该操作似乎在最大化的登录portlet上显示验证错误

谢谢

1 个答案:

答案 0 :(得分:2)

我不相信Liferay 6.0能够使用VM覆盖portlet代码。然而,它是即将发布的6.1版本中的新功能。

但如果你与Liferay 6.0绑在一起,你可以创建一个钩子插件来解决这个问题。

  • 创建一个hook插件。
  • 在你的hook.xml中定义:
    <hook>
        <custom-jsp-dir>/META-INF/custom_jsps</custom-jsp-dir>
    </hook>
  • 将Liferay Portal中的原始login.jsp复制到/META-INF/custom_jsps/html/portlet/login.jsp
  • 您需要修改表单操作的URL以使窗口状态最大化。您可以通过将windowState属性添加到生成URL的标记lib来实现。例如:
    <portlet:actionURL windowState="<%= LiferayWindowState.MAXIMIZED.toString() %>" />

部署此hook插件后,除非通过成功登录重定向,否则登录应进入最大化状态。