MovableType.net 逆引き辞典

応用

カスタムフィールドに入力があれば値を表示

カスタムフィールドに入力があれば、そのカスタムフィールドの値を表示し
カスタムフィールドに入力がなければ、その範囲ごと非表示にする という記述です。

具体的には、メインページにバナーエリアのあるテーマ上で、
「バナー画像をアップロードする」 のカスタムフィールドに、画像があればバナーエリアに画像を表示。
なければバナーエリアごと非表示、というような実装が挙げられます。

いくつかのテーマでも実装されています。
「Owned Media」にもバナーエリアが用意されていますが、バナーのカスタムフィールドに入力がないときには、グレーのバナーエリアごと非表示になります。

使用するMTタグ

  • mt:If

  • まずはカスタムフィールドを作成します。
    識別子はbanner_imgです。

    続いてメインページ内にカスタムフィールドのバナーを表示させる記述をします。
    mt:Ifタグで、上記のカスタムフィールドの値を使った分岐を行います。
    MTタグに値があるか判別するにはtag="MTtagName"を使用し、
    カスタムフィールドの場合は tag="customfieldvalue" と記述します。
    合わせて、 識別子 identifier="banner_img" を指定すればバナーのカスタムフィールドの値を利用できます。
    値の有・無によって以降の実行が判別されます。

    記述サンプル

    header-menuモジュール内記述例

    <mt:If tag="CustomFieldValue" identifier="banner_img">
      <mt:CustomFieldAsset identifier="banner_img">
        <div>
          <img src="<$mt:AssetURL$>">
        </div>
      </mt:CustomFieldAsset>
    </mt:If>
    

    mt:ifで実行される範囲内に<div>記述があるので、実行されない場合は<div>も表示されません。

    関連ページ