如何在liferay中覆盖属性“sites.email.membership.reply.body”

时间:2012-07-30 12:54:26

标签: hook liferay liferay-6

我希望在portal-ext.properties中覆盖以下属性:

sites.email.membership.reply.subject=com/liferay/portlet/sites/dependencies/email_membership_reply_subject.tmpl
sites.email.membership.reply.body=com/liferay/portlet/sites/dependencies/email_membership_reply_body.tmpl
sites.email.membership.request.subject=com/liferay/portlet/sites/dependencies/email_membership_request_subject.tmpl
sites.email.membership.request.body=com/liferay/portlet/sites/dependencies/email_membership_request_body.tmpl

这样的事情:

sites.email.membership.reply.subject=com/krishna/email_membership_reply_subject.tmpl
sites.email.membership.reply.body=com/krishna/email_membership_reply_body.tmpl
sites.email.membership.request.subject=com/krishna/email_membership_request_subject.tmpl
sites.email.membership.request.body=com/krishna/email_membership_request_body.tmpl

我已在EXT中完成此操作,即我已在ext-impl/src/com/krishna/中创建了包EXT-plugin并且它工作正常,但我无法在{{1}中执行此操作}或hook。为什么?因为它给了我例外:

portlet

所以,我的问题:有没有办法在钩子或portlet中执行它,或者只能使用EXT?

由于

1 个答案:

答案 0 :(得分:3)

这只能在EXT插件中完成。由于以下两个原因:

  1. 钩子可以有利于覆盖一些属性/服务,但不是全部。钩子不支持这个特殊的属性。

  2. 这对于portlet来说绝对不可能,因为您已经面临类加载问题。由于portal-impl.jar位于liferay的ROOT/WEB-INF/lib内,因此您的portlet无法访问它。

  3. 所以EXT插件是唯一的方法。