{{チャンク}}

チャンクタグ・チャンクコールとも呼ばれます。

チャンクというのは、テキストパーツのことです。HTMLやJavaScript・CSSも扱えます。

管理画面の「エレメント管理」→「チャンク」のタブをクリックして、任意のチャンクを開いてみてください。といっても、デフォルトでインストールされるのは「mm_rules」だけで、これを見るとプログラミング文とほとんど同じなのでかえって混乱するかもしれませんが・・・このmm_rulesチャンクは、その内容を単純にテキストファイルとして読み込んで、ManagerManagerプラグイン側ではPHP文として評価する処理を行ないます。

たとえば「テスト」と名付けたチャンクを作成し、その内容を「あいうえお」とします。リソース(投稿画面)やテンプレートに{{テスト}}と記述すると、「あいうえお」と出力されます。チャンクは、ただそれだけの機能です。つまり、テキストやHTMLを記述する外部ファイルのように機能します。

<?php
echo "あいうえお";
?>

一般的なCMSでは、たとえば上記のようにPHP文を記述したパーツを作成します。

あいうえお

チャンクを使えばこれだけで済みます。

テキストエディタでテキストファイルを作ってFTPで転送するといった手間もなく、管理画面内で作ることができるため、簡単です。パーツ名を慣れた日本語で分かりやすく管理できる点も便利です。システムのディレクトリ構成を意識する必要もありません。それだけの違いにこだわるところに、MODX独特の思想が現れていると考えることができます。CMSである以上、できるだけテキストエディタやFTPを使わずに運用できるように考えられています。

大規模な案件になると、むしろテキストエディタやFTPなど、ファイルシステムレベルでのシームレスな連携が求められることがありますが、普通にMODXを採用する場合は、そのような使い方は向いてないことが多いです。

呼び出しも簡単で、「文」ではなく「チャンク名」そのものになっています。MovableTypeの「モジュール」も同じくらい使いやすいのですが、名前ではなく「文」で呼び出す仕組みになっている点が違います。しかも、テンプレートからも記事からも同じように呼び出せます。

{{あいうえお}}

MODXの場合

<?php
include_once('xxx/yyy/zzz/aiueo.php');
?>

一般的なCMSの場合(※ただし記事内ではPHP文を書けないことがほとんど)

デザイナーとしては、テンプレートの各部を分かりやすくパーツ化できることは魅力的です。Dreamweaverでは「ライブラリ」に相当する機能ですが、MODXのチャンクはさらに柔軟でアドホックな運用が可能です。基本的には難しくありませんので、使いこなしのコツを体得いただければと思います。キャッシュとの連携も問題ありません。

開発者視点で見ると、チャンクはスニペットやプラグインからも自由に呼び出して使える点が有利です。先述で紹介したManagerManagerのmm_rulesチャンクも、設定ファイルの代わりとしてチャンクを有用に利用しています。

最新版のMODXではPHxをフィルターとして用いることができるようになってますし、チャンクの表示有効期間を設定することができるようにもなっています。アイデア次第で使い道が広がります。ちょっとインテリジェントなテキストファイルとして、工夫して使っていただければと思います。

<link rel="stylesheet" href="HappyNewYear.css" type="text/css" media="all" />

たとえば上記のような内容のチャンクを作り、正月の3日間だけソース内に出力するように表示期間を設定すれば、年始専用のスタイルシートを適用することも簡単にできます。

PR

  • KAGOYA
  • ASP at AKIHABARA Japan
  • CMS AWARDS 2007 Winner
ページトップへ