0

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

有没有什么简单的方法可以通过 Velocity 模板文件做到这一点?

我能想出的最好的解决方法是硬编码一个 HTML 表单,该表单发布到登录 struts 操作,这似乎在最大化的日志记录 portlet 上显示验证错误

谢谢

4

1 回答 1

2

我不相信Liferay 6.0 有能力使用VM 覆盖portlet 代码。但是,它是即将发布的 6.1 版本中的一项新功能。

但是,如果您使用 Liferay 6.0,您可以创建一个钩子插件来解决这个问题。

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

部署此钩子插件后,登录应该进入最大化状态,除非成功登录重定向。

于 2011-11-30T18:13:39.357 回答