株式会社ぺいじず

2020.07.01

Movable Type:ホーム(サイトのトップページ)だけ条件分岐する

Movable Type(MT) や PowerCMS のテンプレート作成時、ホーム(サイトのトップページ)だけ条件分岐したい場合がよくあります。

予約変数「main_index」を利用する方法もありますが、サイトが複数ある場合…
例えば、お知らせなどを子サイトにした場合、お知らせのトップページも「main_index」で条件分岐されてしまいます。

そこで、ホームを出力するインデックステンプレートだけに「home」という変数を定義します。
端的に言うと、ホームを出力するインデックステンプレートの上部(共通テンプレートモジュールより前)に下記を記述します。

<mt:Var name="home" value="1">

もちろん変数の定義は、<mt:SetVars> や <mt:Include module=”foo” variable_foo=”value”> でもOK!

これで「home」で条件分岐できます。

▼記述例▼

ホームだけバナーを出力したい場合:

<mt:If name="home">
  <ul class="list-bnr">
    <li>.....</li>
  </ul>
</mt:If>

ホーム以外にパンくずを出力する場合:

<mt:Unless name="home">
  <ul class="list-breadcrumb">
    <li>.....</li>
  </ul>
</mt:Unless>

これは応用が利いて、とっっても便利です。
例えば、お知らせだけ条件分岐したい場合、お知らせを出力するテンプレートに「info」という変数を定義すれば、同様のことができます。

みなさんも変数で柔軟なテンプレート設計をお試しください!


▼タグの説明▼

MTVar:
変数タグ。定義した変数から値を呼び出す。
value モディファイアを使用した場合、変数を定義して値を設定する。
https://www.movabletype.jp/documentation/appendices/tags/var.html

MTIf:
条件分岐タグ。条件を満たした場合に実行する。
https://www.movabletype.jp/documentation/appendices/tags/if.html

MTUnless:
条件分岐タグ。条件を満たさなかった場合に実行する。
https://www.movabletype.jp/documentation/appendices/tags/unless.html

※現在ぺいじずでは、Movable Typeを使ってWeb制作をする仲間を募集中です。
ご興味のある方は採用情報をご確認くださいませ。

関連記事

株式会社ぺいじず

私たちは、東京都で創業33年の制作会社です。
長年のマニュアル制作で培われたライティングスキルを活かし、効果的なWebサイトをご提案しています。