MODXのチャンクの使い方
テンプレートやリソース内などさまざまな用途で使われる、読み込み専用のテキストのようなものです。
書き方
チャンクをリソース内でに直接表示するには以下のようなタグで記述します。
{{myChunk}}
同じ事を記述するのが面倒なときにブロックをドキュメントで共有させたり、アドオンなどから読み込みたいものがある場合に使われる事が多いです。
チャンクの中に別のMODXタグを入れる事もできます。
単純なHTMLのブロックとして使用する例
以下の例ではテンプレート内のサイドバー部分だけチャンクに分離しします。たとえば「通常ページ用サイドバー」という名前でチャンクを作成して中身は以下のような感じにします。
チャンク「通常ページ用サイドバー」の内容
[[Wayfinder? &startID=`0`]]
<div class="prbanner">
広告とか...
いろいろ...
</div>
ドキュメント内の記述
{{通常ページ用サイドバー}}
テンプレートのサイドバーを入れたい場所に上のように記述します。
MODXは折角スニペットという機能も持っているので、ドキュメントによって表示するサイドバーを振り分けるスニペットなどをを作ってみてもいいですね(*╹◡╹)
スニペットのテンプレートとしてチャンクを使用する例
スニペットからもテンプレートとしてよくチャンクが使用されています。この為スニペットでもロジックとデザインを分離させる事ができます。
例えばDittoを使う場合、「<li>[+title+]</li>」タグでタイトルだけリスト化して表示させるチャンク、タイトルを見出しにして概要も表示させ適当にクラス装飾してあるチャンク・・・など作っておいて、Ditto毎にどのチャンクを使うかを選択すことができます。
[[Ditto? &startID=`1`&tpl=`chunk1`]]
[[Ditto? &startID=`1`&tpl=`chunk2`]]
API
$modx->getChunk('name');