【问题标题】:Listen to changes made to liferay pages and contents by portlets/applications监听 portlet/应用程序对 liferay 页面和内容所做的更改
【发布时间】:2014-09-01 12:05:50
【问题描述】:

我想知道了解现有或当前部署的 portlet/应用程序正在门户中某处使用的最佳方式是什么。

例如:

  1. 网页内容显示已添加到网页。
  2. 文档和媒体 portlet 已添加到网页中。

除了创建 LayoutListener 或扩展 LayoutLocalService 之外,还有其他方法可以监听这些事件。 如果我想跟踪这些事件,最好的方法是什么?

我在 SO 中找到了这个 question。但不是一个非常有用的答案。

【问题讨论】:

    标签: liferay liferay-6


    【解决方案1】:

    从技术上讲,Liferay 有 ModelListeners(例如 LayoutListener),可以在 Layout 的属性更改时收到通知。但是,您应该只将它们用于与持久性相关的操作,而不是用于业务层操作。相反,使用 ServiceWrappers - 例如对于 LayoutLocalService。确定您感兴趣的 API 方法,包装它们并在原始实现之前或之后执行您的自定义代码。您可能需要包装一些方法,但这些服务中的代码更改将是干净的。

    你举了一些例子,让我说几句

    1. 当您提到要添加到页面的“Web 内容显示 Portlet”时,这当然相对容易。但是,如果“Web 内容文章”现在因为符合条件而显示在 AssetPublisher 上,这并不容易。

    2. 如果您只是对在页面上添加 portlet 感兴趣,这比更改配置要容易。对于“Web 内容显示 Portlet”,这可能意味着现在页面上将显示不同的文章,即使该 Portlet 保持不变。

    (当我写答案时,我的互联网连接中断了 - 我无法检查实际的 API,但希望在我可能无法再调查时保持此页面打开以便稍后提交)

    【讨论】:

      猜你喜欢
      • 2012-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-03
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多