mtde.info

Movable Type Developers Express

変数とは

2008年1月29日 23:14 | Writer: apstar | 記事本文

変数とは、Wikipediaによると、以下のように定義されています。

数学、特に解析学において変数(へんすう、variable)とは、未知の、あるいは不定の数・対象を表す文字記号のことである。代数学の文脈では不定元(ふていげん、indeterminate)ともいう。また、記号論理学などでは(変数の表す対象が「数」に限らないという意味合いを込めて)変項(へんこう)ともいう。

Movable Type 4においては、本来、固有の数値や固有の文字列で入力するべきようなところを、アルファベットで命名した任意の変数を用い、その変数へさまざまな値が代入される(=変動する)ことによって、テンプレートタグのみでは不可能な(X)HTMLコード構築を可能にする・汎用性のあるテンプレートを作成することなどに用いられます。

Movable Type 4のデフォルトテンプレートでは、Movable Type 4がリリースされた当初2007年夏より積極的に変数・モジュールのインクルードが用いられ、かなり細分化されたモジュール化が行われています。

変数を用いた一例

たとえば、「あるカテゴリに属するエントリと同じカテゴリのエントリをすべて列挙する」場合、MTEntriesテンプレートタグへcategoryモデファイアを指定すればよさそうですが、「あるカテゴリに属するエントリ」はテンプレートを書いているときには予測ができないため(カテゴリやエントリは将来的に新しく追加される可能性がある)、これを取得することができません。

これを変数を用いて実現すると、次のようなコードとなります。

<MTSetVarBlock name="nowCat"><MTEntryCategory></MTSetVarBlock>
<MTEntries category="$nowCat">
   <MTEntryTitle>
</MTEntries>

nowCatという変数には<MTEntryCategory>(つまりエントリが属するカテゴリ)が必ずセットされるため、<MTEntries category="$nowCat">ではかならずcategoryモデファイアに「エントリが属するカテゴリ」を指定することができます。

早い話が「変数を上手く用いれば、テンプレートタグのみでは実現できないことを実現する」ことができるのです。

変数

2008 mtde.info