こんにちは。
職人見習いの齋藤です。

前回紹介した、MT5 カスタムフィールド 画像の扱いの記事の続きです。

記事一覧に表示される各記事の内容の中にカスタムフィールドで登録した画像を配置する際、レイアウト上画像の最大サイズを統一したい場合があります。
このような場合は、予め登録する画像サイズを指定しておくというのも対処法のひとつですが、ここでは各記事に登録されている画像のサイズがまちまちの場合に、テンプレート側でサイズを調整する方法を記述します。

使用するタグや方法の基本は前回記述した画像表示のソースをベースにし、それを少し応用します。

まずは表示したい画像のサイズの縦横値をMTSetVarを使って用意します。
ここではサンプルとして横200px、縦250pxを最大値としてみます。



次にサイズでの条件分岐処理を追加します。
登録している画像の横幅は「 image_width 」、縦幅は「 image_height 」で取得できるので

それを条件にします。
分岐で指定した最大サイズより小さいという判定になった場合は「 mt:AssetURL 」を使って

そのまま画像のパスを生成し、分岐で指定した最大サイズより大きいという判定になった場合は「 mt:AssetThumbnailURL 」にモディファイアの width 、 height を付与して画像を最大サイズに指定して生成させます。

■横幅のサイズを軸に判定する場合




    
        
        
            
        
            
        
    

■縦幅のサイズを軸に判定する場合




    
        
        
            
        
            
        
    

これでレウアイトに合わせたサイズで画像を表示させることができます。
もし縦横両方を指定サイズ内に収めたい場合は条件分岐を入れ子にすることで対応できます。

※この記事は、なかの人(Iret_msaito)が書いています。