2017-06-21 51 views
0

我在Liferay 6.2项目上工作,我必须挂钩liferay日历portlet。在正常模式下,liferay日历会向事件的创建者发送电子邮件通知。我想为每个组的每个成员发送一封电子邮件。向每位会员发送通知电子邮件。Liferay日历如何发送邮件给群组的所有成员ID

我有钩有以下路径日历: /home/[...]/plugins/hooks/calendar-hook/docroot/custom-jsp/html/portlet/calendar/view.jsp (我有其他的JSP文件类似days.jsp)

我知道我必须覆盖Liferay的Java类CalEventLocalServiceImp和定义一个新的功能remindUser(CalEvent事件,用户用户,日历的startDate)

用,例如,以下行:

protected void remindUser(CalEvent event, [...], Calendar startDate) { 
[...] 
    List<User> users = GroupUtil.getUsers(event.getGroupId()); 
    for(User user : users){ 
     [...] 
     List<User> users = GroupUtil.getUsers(event.getGroupId()); 
     remindUser(event,user,startDate); 
     [...] 
    } 
[...] 
} 

我的问题是我不知道代码调用该函数的位置以及我应该重写它的位置。 我没有看到jsp和我的java重写类之间的链接。

回答

2

就我所见,Liferay 6.2的日历包含在一个插件中,而不是核心。这意味着你不能用钩子覆盖它,但需要沿着plugin extending another plugin的行操作。这意味着你需要更新该插件的修改版本

+0

所以我没有创建一个扩展包装的自定义类,并在“liferay-hook.xml”中声明它将被替换为服务? – Fred37b

+0

经过验证,我在liferay 6.1.1上;不在6.2 – Fred37b

+0

请做出决定。你打开“我在Liferay 6.2项目上工作”的问题。如果你确实在6.1.1:升级。自2013年以来,它已经很久没有得到任何更新,安全性或稳定性 –

相关问题