MODXのチャンクの使い方

更新日
2017.07.29
作成日
2007.03.28

移行作業中のため一部のページが正しく表示されていない場合があります(o-ω-))

MODX のチャンクの使い方を説明します。

テンプレートやリソース内などさまざまな用途で使われる読み込み専用のテキストのようなものです。

どんな時に使うの?

おおむね HTML を断片化して使いまわしたい時に使用します。テンプレートと同じようにチャンクの中に MODXタグ を入れる事もできます。

タグの書き方

チャンクをリソース内でに直接表示するには以下のようなタグで記述します。

{{myChunk}}

単純なHTMLのブロックとして使用する例

次の例ではテンプレート内のサイドバー部分だけチャンクに分離してテンプレートの見通しを良くします。「通常ページ用サイドバー」という名前でチャンクを作成して中身は以下のような感じにします。

チャンク「通常ページ用サイドバー」の内容

[[Wayfinder? &startID=`0`]]
<div class="prbanner">
広告とか...
いろいろ...
</div>

テンプレート内の記述

<!DOCTYPE html>
<html>
<head>...</head>
<body>
  <header>...</header>
  <div class="wrapper">
    <main>[*content*]</main>
    {{通常ページ用サイドバー}}
  </div>
  <footer>...</footer>
</body>
</html>

テンプレートのサイドバーを入れたい場所に上のように記述します。

スニペットのテンプレートとしてのチャンク

スニペットで使うテンプレートとしてチャンク名を指定できる事がよくあります。このためスニペットでもロジックとデザインを分離させる事ができます。

例えば Ditto を使う場合タグでタイトルだけリスト化して表示させるチャンク、タイトルを見出しにして概要も表示させ適当にクラス装飾してあるチャンクなど作っておいて、Ditto 毎にどのチャンクを使うかを選択して使いまわすことができます。

[[Ditto? &startID=`1` &tpl=`chunk1`]]
[[Ditto? &startID=`1` &tpl=`chunk2`]]

API

$modx->getChunk('name');

外部情報