Last modified date : 2019/01/31

textarea をMT標準のファイルアップロードのフィールドに変更することができます。

使い方

$('foo').MTAppAssetFields({
    assetTypeLabel: 'ギャラリー用画像を選択'
});

foo には MTAppAssetFields を適用させたい textarea のセレクタを設定します。設定できるオプションは後述の通りです。

MTAppAssetFields を適用した textarea には下記のような JSON が保存されます。

{
  "id": "119",
  "filename": "blog-03.jpg",
  "url": "http://(略)/blog-03.jpg",
  "thumbnail": "http://(略)/assets_c/2016/11/blog-03-thumb-240xauto-119.jpg"
}

それぞれの値は下記の通りです。

  • id : 画像のID( AssetID
  • filename : 画像のファイル名
  • url : 画像のURL
  • thumbnail : 管理画面に表示されるサムネイルのURL

(注) 上記の url と thumbnail は、構築時にサイトパスが変わった時や開発環境と本番環境で URL が違う時などには、移行時にデータベース上で正しい URL に置換する必要がある場合があります。

画像の情報がこのような JSON で保存されていますので、 MTAppAssetFields で保存したファイルの情報をテンプレートで利用する時は一度 JSON を json_decode="1" で MT のハッシュ変数に変換する必要があります。

例えば、 cf_textarea という「テキスト(複数行)」カスタムフィールドに MTAppAssetFields を適用した場合は、下記のようにして値を扱います(カスタムフィールドのタグは cf_textarea とします)。

<mt:cf_textarea json_decode="1" setvar="image" />

その中から必要な値を取得しています。

<mt:Var name="image" key="thumbnail" />

MTAsset 系タグを利用する場合

管理画面に表示されるサムネイルをそもまま使えるのであれば thumbnail 、オリジナルの画像を使うのであれば url 、その他の情報を利用したければ下記のように id を変数にセットして、それを mt:Asset タグに渡して Asset 系のタグを利用することもできます。

<mt:Var name="image" key="id" setvar="id" />
<mt:Asset id="$id">
  <img src="<mt:AssetThumbnailURL width="150" square="1" />" alt="" />
</mt:Asset>

オプション

$(foo).MTAppAssetFields({
    "assetType": "image",
    "assetTypeLabel": ""
});

assetType

Type : String, Default : "image"

"image" を指定すると画像のアップローダーに、"file" を指定するとファイルのアップローダーになります。

assetTypeLabel

Type : String, Default : ""

「画像を選択」などのテキストを変更できます。