チャンク(chunk)
2007.03.28
テンプレートやドキュメント内で使われる部分的なテンプレート…。と言ったところですかね?
「テンプレート変数」の所で書いたように、共有したいドキュメントがある場合に使われる事が多いです。
また、スニペットからもテンプレートとしてよく使用されています。(Nucleusで言う「テンプレート」とよく似ている)
スニペットに対して複数のチャンクが使えるので、用途によってレイアウトを変える事が出来ます。
例えばDittoを使う場合、「<li>[+title+]</li>」タグでタイトルだけリスト化して表示させるチャンク、タイトルを見出しにして概要も表示させ適当にクラス装飾してあるチャンク…など作っておいて、ドキュメント毎にどのチャンクを使うか選択してDittoを呼び出すことができます。
基本的にスニペットを呼ぶときのチャンクの属性は「tpl」のようですが、別な場合もあるかも。
[[Ditto?&startID=`1`&tpl=`chunk1`]]
[[Ditto?&startID=`1`&tpl=`chunk2`]]
例として、各ドキュメントページの下にフィードバックリンクを作るとします。
チャンク:{{FeebbackLink}}
<div class="feedback"> <ul> <li><a href="/extends/phpbb2/viewforum.php?f=6">コンテンツに関するご意見・ご感想・ツッコミはこちらまで</a></li> </ul> </div>
ドキュメント内の記述
{{FeebbackLink}}
フィードバックリンクを置きたいドキュメントに↑のような記述を入れる。
ドキュメントの数が多い場合は、インデックス用テンプレート、Tips用テンプレート、その他テンプレート…などを作っておいて、Tips用にだけ下のほうに{{FeebbackLink}}を入れておき、TipsドキュメントはTips用テンプレートを選択する…などすると良いです。MODxのテンプレートはCSSや画像使いまわしてHTML部分だけを量産出来るのも利点ですね。
こうしておく事で、もしフォーラムのURLが変わった場合でもチャンクのみ修正すればこのチャンクを使用している全てのドキュメントに反映されます。
単にURLの変更に対応したい場合は、ウェブリンクドキュメントを作成し
<div class="feedback"> <ul> <li><a href="[~ウェブリンクID~]">コンテンツに関するご意見・ご感想・ツッコミはこちらまで</a></li> </ul> </div>
としておくのがMODxの理想的な使い方かもしれません。
