【Movable Type】IF文不要!カテゴリ毎にレイアウトを変える|Blog|株式会社トライム

Blog

ブログ

Home > ブログ > 【Movable Type】IF文不要!カテゴリ毎にレイアウトを変える

Keyword

Contact

についての不明点や案件のご相談などございましたらお気軽にお問い合わせください。

Share

X Facebook pocket LINE はてなブックマーク

【Movable Type】IF文不要!カテゴリ毎にレイアウトを変える

2017.08.24

記事サムネイル

カテゴリ毎にレイアウトを変える方法

MTでカテゴリ毎に違ったレイアウトにしたい場合、
通常は下記のようなIF文を書くことで対応できます。

IF文で対応

<$mt:EntryCategory setvar="cat"$>
<mt:If name="cat" eq="カテゴリA">
  カテゴリAの内容
<mt:ElseIf eq="カテゴリB">
  カテゴリBの内容
<mt:ElseIf eq="カテゴリC">
  カテゴリCの内容
</mt:If>

しかしそれぞれのレイアウト用のHTMLがずらーっと書かれていると
テンプレートの可読性が下がってしまいます。

そこで考えられるのが各レイアウトをモジュール化することです。

モジュール化

<$mt:EntryCategory setvar="cat"$>
<mt:If name="cat" eq="カテゴリA">
  <$mt:Include module="カテゴリA"$>
<mt:ElseIf eq="カテゴリB">
  <$mt:Include module="カテゴリB"$>
<mt:ElseIf eq="カテゴリC">
  <$mt:Include module="カテゴリC"$>
</mt:If>

ここで気がつくことがひとつ。カテゴリ名とモジュール名が同じです。
ということで下記のようにすると、IF文がなくなりさらにスッキリします。

IF文無し

<$mt:EntryCategory setvar="cat"$>
<$mt:Include module="$cat"$>

わずか2行になりました!
カテゴリ名を変数化して module="$cat" として呼出しています。

カテゴリ名が変更になる恐れがある場合はカテゴリのベースネームで対応することも可能です。

Share

X Facebook pocket LINE はてなブックマーク
Webサイト制作についてお悩みでしたら私たちにご相談ください。

私たちはECサイトなどのBtoCのサイトの制作に特化したWeb制作会社です。マーケティング視点をもったクリエイティブにより、運用まで見据えた効果の高いWebサイトを構築いたします。Webサイトについてお悩みのWeb担当者の方は、トライムまでお気軽にご相談ください。

    ※複数選択可
    ※同業のWeb制作会社、フリーランスの方へ:下請けの依頼、下請けでの制作は一切行っておりませんので、ご連絡はお控えください。

    ※フルネームでご記入ください。

    ※フォーム経由でお問い合わせを頂いた際には電話ではなく、メールにてご連絡いたします。

    プライバシーポリシーに同意します

    Keyword

    Contact

    についての不明点や案件のご相談などございましたらお気軽にお問い合わせください。

    Contact

    お問い合わせ

    トライムは常にお客様へ寄りっ沿った提案をさせていただきます。
    自社のEC売上の拡大や人材不足などのお客様のデジタル上の課題を、
    様々なアプローチにより解決するお手伝いをいたします!
    お気軽にお問い合わせください。

    TEL

    03-6403-3259

    受付:10:00 - 19:00