Last modified date : 2019/01/31

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

MTAppAssetsGallery

事前準備

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 が保存されます。

それぞれのデータの形式等については、 MTAppJSONTableMTAppAssetFields のドキュメントを参照してください。

オプション

$(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 を設定すると元のフィールドが表示されます。