モジュールに外部コンテキスト(ctx)を挿入する
モジュールで表示する情報を制御するには、モジュールIDを作成して管理画面から設定することが可能ですが、テンプレート側から指定することも可能です。
<!-- BEGIN_MODULE Entry_List ctx="bid/1/cid/2" --> ...省略 <!-- END_MODULE Entry_List -->
上記のようにBEGIN_MODULEを記述時にctx="bid/1/cid/2"
と記述することで、モジュールのURLコンテキストを指定できます。この場合、bid1内のcid2のエントリーデータを表示します。
指定の仕方はURLコンテキストと同じで、bid/1/cid/2/eid/3
のように指定できます。
有効なコンテキスト
- bid
- cid
- eid
- uid
- page
- keyword
- tag
- field
- order
- start
- end
startとendの使い方
記述の仕方としては、下記のようにします。
<!-- BEGIN_MODULE Entry_List ctx="/(開始日時)/-/(終了日時)/" --> ... <!-- END_MODULE Entry_List -->
静的に日付を指定する場合の記述
たとえば、2020年6月23日10時から開始し、終了を際限なく指定する場合は下記のように記述します。
<!-- BEGIN_MODULE Entry_List ctx="/2020-06-2310:00:00/-/9999-12-3123:59:59/" --> ... <!-- END_MODULE Entry_List -->
動的に日付を指定する場合の記述
たとえば、過去を際限なく遡り、終了をEntry_Bodyの投稿日付に調整する場合は下記のように記述することが可能です。(※以下の例ではEntry_Bodyの変数を使用することを想定しており、Entry_Body内に記述しているため、Entry_Listのモジュールを「\(バックスラッシュ)」を使ってエスケープしています)
<!-- BEGIN_MODULE\ Entry_List ctx="/1000-01-01/-/{date#Y}-{date#m}-{date#d}{date#H}:{date#i}:{date#s}/" --> ... <!-- END_MODULE\ Entry_List -->
外部コンテキスト(ctx)とモジュールIDの優先順位について
モジュールIDと外部コンテキスト(ctx)は併用して使用することが可能です。ただし、その際はモジュールIDの設定でもURLコンテキストが指定できるので、設定が重複してしまう可能性があります。
設定が重複して問題が起きないように、コンテキストの適用には優先順位が存在しますので、併用する際はご注意ください。
コンテキストの優先順位
- モジュールIDの設定に、URLコンテキストのチェックが入っていて、現在表示しているページでURLコンテキストが指定されている状態
- モジュールIDの設定に、引数が固定値で指定されている状態
- テンプレートで外部コンテキスト(ctx)を設定した状態