【Movable Type】IF文不要!カテゴリ毎にレイアウトを変える|Blog|株式会社トライム
【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" として呼出しています。
カテゴリ名が変更になる恐れがある場合はカテゴリのベースネームで対応することも可能です。
Contact
お問い合わせ
トライムは常にお客様へ寄りっ沿った提案をさせていただきます。
自社のEC売上の拡大や人材不足などのお客様のデジタル上の課題を、
様々なアプローチにより解決するお手伝いをいたします!
お気軽にお問い合わせください。
03-6403-3259
受付:10:00 - 19:00
