2

我在Liferay 社区问过同样的问题,但没有答案,所以我在这里尝试:)

每次用户从文档库下载文件时,我都需要执行操作/调用方法,为简单起见,每次用户单击直接文件时,我都会说 System.out.println("a file has been added")关联。

您对我如何实现这一目标有任何想法吗?我正在使用 LR 6.0.6 CE 并且真的会尽量避免使用 EXT 环境......任何关于如何用钩子实现这一点的想法将不胜感激!

我正在考虑在调用 System.out.println() 函数的 JSP (onClick) 上添加一些 javascript,但不确定是否可行。

我想到了动作钩子、模型监听器、覆盖服务……你认为最好的方法是什么?

4

2 回答 2

2

我找到了一种方法来实现这一点,为 DLFileEntry 模型创建模型侦听器并覆盖方法“onAfterUpdate”,每次下载文档时都会触发该方法,因为它会更改 readcount 变量的值。

于 2012-12-17T11:00:47.300 回答
2

为了添加业务逻辑,您应该查看DLFileEntryLocalService和此服务的包装器,而不是模型侦听器。模型侦听器用于与持久性相关的修复,而不是添加任意新逻辑 - 这是*LocalService包装器中更好的东西,*LocalService业务逻辑也是如此。

这需要一个 Hook,你远离 ext 是正确的——这里不需要它,而且你会遇到比使用 Hook 更多的升级问题。

于 2012-12-17T15:34:57.220 回答