カレンダーアクション

カレンダーアクション(calendar)は、カレンダーコンテンツを月ごとのカレンダーで表示したい場合に使用します。

設定

カレンダーアクションを利用するためには、ページコンテンツタイプの設定項目 action に 'calendar' を指定します。 options 項目にアクションの設定を定義します。 月毎にデータをまとめる部分の処理はアーカイブ機能と共通化しているため、アーカイブアクションと同じように設定することができます。

オプション設定

項目 説明
content event 対象のコンテンツタイプ名を指定します。
route /information/archive/{year}.html 2ページ目以降のパスを定義します。パスに {year} と {month} を定義して年や月を受け取れるようにします。※年アーカイブの場合は {month} は不要です。
month 1 1ページに表示する月数を指定します。12 を指定すると、1ページに12ヶ月分のカレンダーを表示します。
offset_month 0 表示月のオフセットを指定できます。4月開始の年度にしたい場合は 3 を指定します。
blank 0 期間の途中にデータが無い場合でもページを表示したい場合は 1 を指定します。設定値が0の場合に、たとえば 1月と3月にデータがある場合は 2月のページは表示されません。1 を設定するとデータが無くても 2月のページが表示されます。
sort asc カレンダー一覧リンクの表示順を指定します。。昇順(古い順)にしたい場合は asc を指定します。降順(新しい順)にしたい場合は desc を指定します。
link_format Y年m月 カレンダー一覧のリンクテキストのフォーマットを指定します。「Y年m月」 や「Y年」を指定できます。

設定例:

    'event_calendar' => [
        'label' => 'イベントカレンダー',
        'outline' => 'イベント・休業日情報をを月別で表示します。',
        'dir' => '/event/',
        'action' => 'calendar',
        'options' => [
            'content' => 'event',
            'month' => 1,
            'offset_month' => 0,
            'blank' => 0,
            'route' => '/event/{year}/{month}/',
            'sort' => 'asc',
        ],
        'fields' => [
            'content' => [
                'label' => 'コンテンツ',
                'type' => 'content',
            ],
        ],
    ],

ページテンプレート

テンプレートにはカレンダーのリンクに関する情報が archive 変数で渡されます。 オプション設定配列が options 変数で渡されます。

ページテンプレートにはカレンダーデータは渡されませんが、monthly_calendar() 関数を呼び出すことで該当ページのカレンダーを出力することができます。

{% if options %}
  {{ monthly_calendar(options.content, archive.getDateString(), options.month) }}
{% endif %}

アーカイブリンクリスト部品テンプレート

カレンダーの各期間ページへのリンクはアーカイブ機能が利用されています。そのためアーカイブリンクリスト部品テンプレートを利用することができます。 アーカイブアクションの アーカイブリンクリスト部品テンプレートをご覧ください。