2

CalEventLiferay 6 のすべてのものが になっCalendarたことを知って、Liferay 7CalendarBookingとLiferay 7 で新しいカレンダー メカニズムがどのように機能するかを理解しようとしていCalendarResourceます。

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

少なくとも、特定の暦日(今日など)のカレンダー イベントを取得する方法を理解するのを手伝ってください。カスタムロジックなしで、データベースからカレンダーエントリをフィルタリングするための提案的な方法が見つかりません。

メソッド%LocalServiceUtilのヒントは素晴らしいでしょう(またはGithub Liferay 7カレンダー関連のコード)

4

1 に答える 1

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 もあまりエレガントではありません, 控えめに言っても, しかし良いニュースは、問題が解決できるということです. .)

于 2016-11-28T14:58:59.683 に答える