MTIfを使いこなそう!(1) テンプレートの区別
私が発行しているメルマガで、前回No.18から
<MTIf>を使いこなそう!
というシリーズを始めることにしました。動機は・・・単なる思いつきです(笑)
ただ<MTIf>というタグは、MT4 / MTOSを使いこなす上で非常に重要なタグです。
従って<MTIf>をマスターすれば、MT3では不可能だったいろんなことができるようになります。
せっかくMT4 / MTOSを使うのであれば、ぜひ<MTIf>を使いこなして欲しい、という思った次第です。
あと自分もまだわかっていないので(^^;、自分の学習のため、というのもありますが。
ということで第一回目の今回は、<MTif>の初歩から始めたいと思います。
さて、<MTIf>は、IFという文字からわかるとおり、
「もし~~なら」
という、仮定のタグです。ある条件を付けて、条件に合う場合、合わない場合によって結果を変えるという、いわゆる「条件分岐」のためのタグです。
以前「風林火山 火の巻」の販売サイトは、Seesaaタグの条件分岐を使って、4つのASP別ページを同時に生成している、と書きました。
その条件分岐が、MT4では圧倒的な自由度で、要するに「何でもアリアリ」な使い方ができる、というわけです。
▼ 基本は<MTIf name="~~">内容</MTIf>
<MTIf>はブロックタグ(MT3までは「コンテナタグ」でしたが(^^;)です。
ブロックタグとは、内部にファンクションタグ(MT3までは「変数タグ」)を格納し、基本的に繰り返し処理を行うための処理専用タグ、ということになりますが、まあ単純化すれば
閉じタグが必要で「$」が付いてないタグ
と思ってください(笑) ・・・我ながらなんちゅーハショリ方だ(笑)
閉じタグが必要ですから、必ず
<MTIf>~~</MTIf>
と、いう形でペアになります。
<MTIf>の使い方としてまず考えられるのが、テンプレートの種類によって表示する内容を変える、ということです。
メインページテンプレート(トップページ)なら○○、ブログ記事(エントリー)なら△△、ブログ記事リスト(カテゴリー、月別)ならXX、という具合に、テンプレートの種類によって、表示する内容を変化させよう、という使い方ですね。
で、そのやり方ですが、まず<MTIf>で「もし~~なら」の「~~」という条件を指定する場合は、<MTIf>タグの中に
name="~~"
という指定を入れます。nameの前には半角スペースを一つ入れます。
<MTIf name="~~">
という形です。この「~~」の部分に条件を入れると、<MTIf name="~~">と
</MTIf>の間にある部分が、条件によって実行されたりされなかったり、というわけです。
で、具体的にテンプレートごとに指定を変える方法ですが、MT4のデフォルトテンプレートでは、以下のようにテンプレート区分のための指定語句があります。
メインページ:main_index
ブログ記事(エントリー):entry_template
ブログ記事リスト(カテゴリー):category_archive
ですから例えばメインページだけに画像を入れたい、という場合は、
<MTIf name="main_index"> 画像のタグ </MTIf>
とすると、メインページだけに画像タグが使われる、つまり画像が表示され、エントリーページやカテゴリーページには表示されなくなります。
ま、これだけだと「メインページだけに表示させたい物は、メインページテンプレートだけに書いておけばいいだけジャン」と思われるかもしれません。
・・・ごもっともです(爆)
ま、今回は第一回ということでごくシンプルな例を紹介した、というのがまずありますが(^^;、モジュールの中で、この<MTIf>が非常に重要な意味を持ってくるんです。
たとえばサイドバーをモジュール化する、というのはよくありますよね。
そして全部のテンプレートにモジュールを共通して読み込ませるわけですが、たとえば「エントリーとカテゴリーには、トップページに戻るボタンを追加したい」といったケースなどがあります。
MT3ですと、こういう場合は共通化できない部分を除いてモジュール化せざるを得ませんでした。
つまりボタンの部分はモジュールの外に出して、エントリーとカテゴリーのテンプレートに直接書く、といったことをしていたわけです。
しかし、モジュールの中で<MTIf>を使えば、サイドバーのソース部分をきっちりまとめることができ、テンプレごとの違いは<MTIf>で対応、ということができるわけです。モジュールの「固まり」が認識しやすく、ソースもスッキリするわけですね。
(この「サイドバーモジュール内に、エントリーとカテゴリーにだけトップに戻るを追加する」という例は次回紹介する予定です。)
結局、<MTIf>がこれだけ拡張したから、MT4のデフォルトテンプレはモジュールだらけになった、とも言えます。
・・・個人的には使いすぎ、という気もしますが(^^;
ということで『<MTIf>を使いこなそう』第一回のまとめ。
****************************************************************** <MTIf name="~~">表示内容</MTIf>
メインページ:main_index
ブログ記事(エントリー):entry_template
ブログ記事リスト(カテゴリー):category_archive
特にモジュール内で使うとソースが整理できて効果的 ******************************************************************
これを覚えておいてください(^^)
★この記事をSEO bookmarkに登録 ⇒
カテゴリ
MTタグ解説トラックバック(0)
このブログ記事を参照しているブログ一覧: MTIfを使いこなそう!(1) テンプレートの区別
このブログ記事に対するトラックバックURL: http://www.kowaza.net/sys/mt-tb.cgi/27
コメントする