MTAppAssetFields と MTAppJSONTable を組み合わせて、ドラッグ&ドロップで並べ替え可能なアイテムのギャラリーを簡単に作れるメソッドです。

事前準備
MTAppAssetsGallery では、サムネイルの表示に Data API を利用しますので、 MTAppAssetsGallery を利用する前に MTAppjQuery プラグインのシステム設定で、下記の設定をしてください。
- DataAPI SDK を利用 :
有効 - Data API バージョン : 最新のバージョン(それ以外でも動きます)
使い方
$('#excerpt').MTAppAssetsGallery({
galleryType: 'image',
galleryLabel: 'ギャラリー用写真',
MTAppJSONTableOptions: {
header: {
asset: '写真',
assetCaption: 'キャプション',
assetDescription: '説明'
},
inputType: {
asset: 'textarea',
assetCaption: 'input',
assetDescription: 'textarea'
},
headerOrder: [
'asset',
'assetCaption',
'assetDescription'
]
},
debug: false
});
foo には MTAppAssetsGallery を適用させたい textarea のセレクタを設定します。設定できるオプションは後述の通りです。
例えば、上記のサンプルコードのように定義した場合、下記のようにして MTAppAssetsGallery の情報を取得します。
<mt:Entries>
<mt:EntryExcerpt convert_breaks="0" no_generate="1" setvar="data" />
<mt:If name="data">
<mt:Var name="data" json_decode="1" setvar="json" />
<mt:Var name="json" key="items" setvar="items" />
<mt:Var name="items" function="count" op="--" setvar="last_index" />
<mt:For var="i" from="0" to="$last_index">
<mt:Var name="items" index="$i" setvar="item" />
<mt:Var name="item" key="asset" setvar="asset" />
<div style="float: left;margin-right: 10px;border: 1px solid lightgray;text-align: center;">
<p><img src="<mt:Var name="asset" key="thumbnail" />" alt="<mt:Var name="item" key="assetCaption" />"></p>
<p><mt:Var name="item" key="assetDescription" /></p>
</div>
</mt:For>
</mt:If>
</mt:Entries>
この場合、 #excerpt フィールドには MTAppJSONTable 形式のデータが入り、そのデータの items 中の各アイテムの asset プロパティに MTAppAssetFields 形式の JSON が保存されます。
それぞれのデータの形式等については、 MTAppJSONTable と MTAppAssetFields のドキュメントを参照してください。
オプション
$(foo).MTAppAssetsGallery({
"galleryType": 'image',
"galleryLabel": "",
"MTAppJSONTableOptions": {},
"debug": false
});
galleryType
Type : String, Default : 'image'
ギャラリーのタイプを設定します。画像の場合は image を、ファイルの場合は file を、音楽ファイルの場合は audio を設定します。
galleryLabel
Type : String, Default :
xxxを一括選択 というアップロード用リンクの xxx 部分に当たる文字列を指定します。
MTAppJSONTableOptions 必須
Type : Plane Object, Default : {}
ギャラリーにするための MTAppJSONTable のオプションを設定します。なお、画像やファイルをアップロードするためのカラムのプロパティ名は、上記のサンプルコードのように必ず asset にしてください。
debug
Type : Boolean, Default : false
true を設定すると元のフィールドが表示されます。