2016-11-28 5 views
2

私はLiferayの6からのすべてのCalEventものはLiferayの7にCalendarCalendarBookingCalendarResourceになったことを知って、新しいカレンダーのメカニズムは、Liferayの7でどのように機能するかを理解しようとしているのLiferay 6我々はのLiferay 7カレンダーの問題

いくつかのカスタムイベントをグループ化するためにいくつかのタグと定数(CalEventConstants)を使用することができます(このドキュメントはL6 https://dev.liferay.com/discover/portal/-/knowledge_base/6-2/managing-events-and-calendar-resources-with-liferays-cで私にとって非常にうまく機能しました)。 残念ながら、まだLiferay 7のマニュアルはありません。

カレンダーイベントを特定の暦日に取得する方法を理解してください。(例:今日)。カスタムロジックなしで、データベースからカレンダーエントリをフィルタリングする方法を見つけることができません。

どれ%LocalServiceUtil方法のヒントが(Liferayの7カレンダー関連するコードまたはGitHubの)素晴らしいだろう

答えて

2

ない方法は、それ自体で特定の日のイベントを返しますが、あなたはCBLS.getCalendarBookings(long calendarId, long startTime, long endTime)を使用することができます。このような何か:

Calendar now = Calendar.getInstance(); 

Calendar start = now.clone() 

start.set(Calendar.HOUR_OF_DAY, 0); 
start.set(Calendar.MINUTE, 0); 

Calendar end = now.clone() 

end.set(Calendar.HOUR_OF_DAY, 23); 
end.set(Calendar.MINUTE, 59); 

List<CalendarBookings> calendarBookings = 
    CalendarBookingLocalServiceUtil.getCalendarBookings(
     calendarId, start.getTimeInMillis(), end.getTimeInMillis()); 

(私はこのコードをテストしていませんが、注意してくださいそれも、私はそれが合理的なアイデアを与えると思い、コンパイルしかし、ないかもしれないAPIはどちらか非常にエレガントではない、控えめに言っても、!。。良いニュースは、問題が解決できることです。)