2017-06-21 71 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年以來,它已經很久沒有得到任何更新,安全性或穩定性 –

相關問題