マークアップチーム
MovableTypeで行うCMS化
皆様、お初にお目にかかります、CRHコーディング事業部の高橋と申します。
私の記事はMovableTypeとコーディングについて書いていきます。
昨今巷ではMovableTypeが大活躍しています。
Movable Typeは元々ブログを作成するための、自由度の高いツールとして開発されました。
数々のテンプレートや、自由度の高いカスタマイズ性。
これらにより、かなり多くのことに対応できるツールとなっています。
最近ではMovableTypeに対して特化している企業や、プラグイン開発をしている個人も数多くあり、
そういう方々によってMovableTypeの便利な使い方なども数多く紹介されてきました。
そこで、私も弊社が行ったMovableTypeCMS化についてのノウハウを、少しずつ公開していければと思います。
※前提として、ある程度MovableTypeを触ったことがある、
または簡単なブログを作成したことのある方以上を対象としてお話します。
まず初回である今回は、MovableTypeCMS化のための基礎についてお話します。
MTEntriesによるループを利用して、出力内容を切り替える。
ポイントとなるタグ
============================================
<MTEntries>~</MTEntries>
<MTSetVar name="foo" value="bar">
<MTGetVar name="foo" value="bar">
<MTIf name="foo">
<!-- do something -->
<MTElse>
<!-- do something else -->
</MTElse>
</MTIf>
============================================
ではお話を進めさせていただきます。
MovableTypeの基本的なタグの一つとして、MTEntriesが存在します。
このタグの動作は、MTに登録してある記事の個数分だけ・または指定した記事の数分だけ、このタグに囲まれたソースを繰り返し表示させることができます。
つまり
==ここから==
<MTEntries lastn="5">
<p>-ここに繰り返させたい内容-</p>
</MTEntries>
==ここまで==
これを出力すると、一般に
<p>-ここに繰り返させたい内容-</p>
<p>-ここに繰り返させたい内容-</p>
<p>-ここに繰り返させたい内容-</p>
<p>-ここに繰り返させたい内容-</p>
<p>-ここに繰り返させたい内容-</p>
というようなソースが出力されます。
このままでは単に文章が五回出力されるだけですので、この元ソースに少々手を加えてみます。
==ここから==
<MTSetVar name="number" value="1">
<MTEntries lastn="5">
<MTIf name="number" eq="1">
<p>-一度目の処理が出力されます。-</p>
<MTSetVar name="number" value="2">
<MTElse>
<p>-二度目以降はこちらの処理になります。-</p>
</MTElse>
</MTIf>
</MTEntries>
==ここまで==
この処理の出力結果は
<p>-一度目の処理が出力されます。-</p>
<p>-二度目以降はこちらの処理になります。-</p>
<p>-二度目以降はこちらの処理になります。-</p>
<p>-二度目以降はこちらの処理になります。-</p>
<p>-二度目以降はこちらの処理になります。-</p>
以上のようになります。
この動きを文章化してみると、以下になります。
- 「number」に値1を持たせ、一回目の処理を行います。
- 次に一回目の処理の中で、「number」のもつ値が2に変更され、その後繰り返しのために<MTEntries>タグの始めへと戻ります。
- 「number」の値が2になっているため、<MTIf eq="1">の箇所は通過、その後の<MTElse>部分の処理が行われます。
- 以降記事数が五件になるまで、3の内容が繰り返されます。
以上の流れになります。
かなり基本的なことですが、難しいことは基本的なことの重複・繰り返しです。
条件式を使いこなすと、自然とできることやできるレイアウト、できるコンテンツのパターンなどが増えていきます。
ちょっとしたプログラマー気分になりますね。
次回はこの条件を使用した、レイアウトの具体的な切り替え方法について書きます。
トラックバック(0)
このブログ記事を参照しているブログ一覧: MovableTypeで行うCMS化
このブログ記事に対するトラックバックURL: http://blog.creativehope.co.jp/mt/mt-tb.cgi/64