Calendar
日付を含むViewsをカレンダーとして表示するViewsプラグイン。年、月、週、日の各表示形式に対応しています。
calendar
概要
Calendarモジュールは、ノードやタクソノミータームの日付フィールドに基づいて、Viewsでカレンダーを作成することを可能にします。日付ベースのコンテンツを視覚的なカレンダー形式で表示するための完全なソリューションを提供します。
このモジュールは4つの異なる時間ベースの表示形式を提供します:年ビュー(12個のミニ月カレンダーを表示)、月ビュー(従来の月間カレンダーグリッド)、週ビュー(7日間の横型タイムライン)、日ビュー(単一日の時間ベースレイアウト)。各ビュータイプは、重複するイベント、複数日にまたがるイベントの表示、時間ベースのグループ化をサポートしています。
カレンダーイベントは、コンテンツタイプまたはタクソノミータームに基づくストライプ凡例を使用して視覚的に区別でき、カスタマイズ可能な16進数カラーコードを設定できます。このモジュールには、期間間のナビゲーション用の専用Calendarページャーと、フォーマットされた日付タイトルを表示するためのCalendar Headerエリアハンドラーが含まれています。
カレンダーを設定する最も簡単な方法は、Views Templatesモジュールが提供する「テンプレートから追加」機能を使用することです。これにより、コアの日付フィールド(作成日、更新日)またはカスタム日付フィールドに基づいて、事前設定されたカレンダービューが生成されます。
Features
- 年、月、週、日のカレンダービュー表示
- 視覚的な継続インジケーター付きの複数日イベントのサポート
- コンテンツタイプまたはタクソノミータームに基づく色分けストライプ凡例
- 期間間のナビゲーション用Calendarページャー
- サイドバーブロック用のミニカレンダー表示オプション
- 時間ベースのグループ化(時間単位、30分単位、またはカスタム間隔)
- オプションのスクロール機能付き重複イベント表示
- 週番号の表示オプション
- 1日あたりの最大アイテム数と「もっと見る」リンク動作
- 簡単なカレンダー作成のためのViews Templates連携
- Date Recurモジュール連携による繰り返し日付のサポート
- カスタマイズ可能な曜日略称と月名形式
- ユーザーナビゲーション状態のためのセッションベース日付追跡
- 色キーを表示するCalendar Legendブロック
Use Cases
ウェブサイト用イベントカレンダー
イベントコンテンツタイプに日付フィールドを追加して、公開用イベントカレンダーを作成します。Views Templatesを使用して、月、週、日、年のビューを持つ完全なカレンダーを生成します。コンテンツタイプごとにストライプ色を設定して、異なるイベントカテゴリを区別します。
コンテンツ計画用編集カレンダー
コンテンツがいつ作成または更新されたかを表示する内部編集カレンダーを構築します。ノードの「作成日」または「更新日」日付フィールドを使用して、コンテンツ公開タイムラインを表示します。著者またはコンテンツタイプによるフィルターを追加して、特定のコンテンツに焦点を当てます。
サイドバーのミニカレンダーブロック
「ミニカレンダーとして表示」オプションを有効にした月ビューを作成して、サイドバーにコンパクトなミニカレンダーを追加します。結果のビューブロックをサイドバーリージョンに配置して、詳細な日ビューへのリンク付きの月間概要を表示します。
予約・予約システム表示
時間グループ化を使用した週または日ビューで、利用可能および予約済みの時間枠を表示します。「重複時間スタイル」を設定して同時予約を表示し、タクソノミーベースのストライプを使用して予約ステータス(利用可能、保留中、確定)を示します。
色分けカテゴリ付きカレンダー
タクソノミーストライプ機能を使用して、イベントがカテゴリによって視覚的に区別されるカレンダーを作成します。コンテンツタイプにターム参照フィールドを追加し、Calendar行設定でタクソノミー色を設定し、色キーを表示するためにCalendar Legendブロックを配置します。
Tips
- 特に多くの日付を処理する年ビューでは、パフォーマンス向上のためにViewsキャッシュを使用する
- カレンダーセルが大きくなりすぎないように、1日あたりの「最大アイテム数」を設定する
- Calendar Headerエリアハンドラーを使用して、埋め込みページャーオプション付きのフォーマットされた日付タイトルを表示する
- 認証済みユーザーのナビゲーション体験を向上させるために「セッションで現在の日付を追跡」を設定する
- カレンダーテンプレートを作成する際、Views Templatesモジュールはコンテキストフィルターと表示パスを自動的に設定する
- 週/日ビューの重複イベントについては、通常のイベント密度に基づいてスクロールモードと非スクロール表示モードを選択する
- テーブルベースのレイアウトはブラウザによって若干異なってレンダリングされる可能性があるため、複数のブラウザでカレンダー表示をテストする
- ナビゲーション用にブロックでミニカレンダー表示を使用し、完全なカレンダーページ表示にリンクすることを検討する
Technical Details
Admin Pages 2
/admin/config/date
管理 > 環境設定の下にあるCalendar設定の親設定ページ。
/admin/config/date/calendar
カレンダー表示をナビゲートするユーザーのセッションベース日付追跡動作を含む、グローバルカレンダー設定を構成します。
権限 1
Troubleshooting 6
ビューに日付コンテキストフィルター(引数)を追加します。詳細 > コンテキストフィルターに移動し、日付フィールドの日付引数を追加します(例:月ビューの場合は「コンテンツ: 作成日(年 + 月)」)。
ビュー設定の詳細セクションでViewsキャッシュを有効にします。クエリ結果とレンダリング出力の両方のキャッシュを少なくとも1時間に設定します。パフォーマンスの問題が続く場合は、年ビューの削除を検討してください。
日付フィールドが正しいタイムゾーン設定を使用するように設定されていることを確認します。ビューのコンテキストフィルターが適切な日付粒度(年、月、週、または完全な日付)を使用していることを確認します。
Calendarスタイル設定で「複数日アイテムを複数列行として表示」を有効にします。これには、月および週ビューで「複数日スタイル」オプションが適切に設定されている必要があります。
Calendar行プラグイン設定で凡例色を設定していることを確認します。「コンテンツタイプに基づく」または「タクソノミーに基づく」を選択し、各タイプ/タームの16進数カラー値を設定します。
ビューのページャー設定でCalendarページャーが選択されていること、およびコンテキストフィルターに有効なデフォルト値が設定されていることを確認します(「Calendar Current date」引数デフォルトを使用)。
Security Notes 3
- 「Calendar設定を管理」権限はすべてのユーザーのセッション動作に影響するため、信頼できる管理者にのみ付与する必要がある
- ストライプ色の16進数値は無効な入力を防ぐために検証されますが、インラインスタイルで直接レンダリングされます
- カレンダーイベントは基盤となるエンティティのアクセス権限を継承します - 適切なコンテンツアクセス制御が設定されていることを確認してください