user.js、user.css のインストールディレクトリの変更
MTAppjQuery v2 までは、デフォルトの user.js と user.css が mt-static/plugins/MTAppjQuery/user-files/
ディレクトリの中にありましたが、MTAppjQuery v3 ではこの二つのファイルを mt-static/support/MTAppjQuery/
ディレクトリに移動しました。
したがって、 mt-static/plugins/MTAppjQuery/user-files/
ディレクトリの中の user.js と user.css をカスタマイズしてご利用の場合は、それらのファイルを mt-static/support/MTAppjQuery/ 配下に移動してください。
【移動前】
- mt-static/plugins/MTAppjQuery/user-files/user.js
- mt-static/plugins/MTAppjQuery/user-files/user.css
【移動後】
- mt-static/support/MTAppjQuery/user.js
- mt-static/support/MTAppjQuery/user.css
mtapp.multiField() v2 から v3 へのアップグレードの際の注意事項
Vue.js から Svelte へ
マルチフィールドの v1 および v2 は Vue ベースで作られていましたが、v3 は Svelte で作られています。したがって、Vue でオリジナルフィールドを作成して運用している場合は v2 ( version: 2
)のままご利用ください。
version オプションが未指定の場合の解釈の変更
マルチフィールド v2 までの場合は version
オプションが未指定の場合は version: 1
と解釈されていました。
マルチフィールド v3 では、version
オプションが未指定の場合は version: 3
と解釈されます。引き続き version: 1
を利用したい場合は明示的に version: 1
オプションを設定してください。
マルチカラム内の縦向き固定テーブルのデータ構造の変更
type: 'multi-column'
の中に「縦向き固定テーブル」( type: 'table-vertical-fixed'
)がある場合、下記のように、その縦向き固定テーブル内の各フィールドのデータがマルチカラムのデータ直下に保存されるバグがありました。
// マルチフィールドを適用するコード (function ($) { mtapp.multiField({ version: 2, id: 348, label: 'マルチカラム', fieldBlocks: { tableVerticalFixed: { type: 'table-vertical-fixed', label: '縦向き固定テーブル', data: {}, fields: ['text', 'select', 'image'] }, multiColumn: { type: 'multi-column', label: 'マルチカラム', data: {}, columns: [{ col: 12, class: '', label: '', description: '', fields: ['h2', 'tableVerticalFixed'] }] } }, fieldGroups: [['multiColumn']] }); })(jQuery); // 保存されるデータ { "items": [ { "data": { "h2": "見出し", "text": "縦向き固定テーブル内1行テキスト", "select": "apple", "image": { "id": "669", "url": "/mt7/mtappjquery-qa/tinybeans.png", "thumbnail": "/mt7/mtappjquery-qa/assets_c/2023/05/tinybeans-thumb-120xauto-669.png?ts=20230530185852", "alt": "縦向き固定テーブル画像alt" } }, "handle": "multiColumn", "id": "yGLCxkSJ" } ], "version": 2, "ts": 1699842128098 }
これをマルチカラムの data の中の縦向き固定テーブルのフィールドハンドル以下に収めるように変更しました。
// マルチフィールドを適用するコード (function ($) { mtapp.multiField({ version: 3, // 3に変更 id: 48, label: 'マルチカラム', fieldBlocks: { tableVerticalFixed: { type: 'table-vertical-fixed', label: '縦向き固定テーブル', data: {}, fields: ['text', 'select', 'image'] }, multiColumn: { type: 'multi-column', label: 'マルチカラム', data: {}, columns: [{ col: 12, class: '', label: '', description: '', fields: ['h2', 'tableVerticalFixed'] }] } }, fieldGroups: [['multiColumn']] }); })(jQuery); // 保存されるデータ { "items": [ { "data": { "h2": "見出し", "tableVerticalFixed": { "text": "縦向き固定テーブル内1行テキスト", "select": "apple", "image": { "id": "669", "url": "/mt7/mtappjquery-qa/tinybeans.png", "thumbnail": "/mt7/mtappjquery-qa/assets_c/2023/05/tinybeans-thumb-120xauto-669.png?ts=20230530185852", "alt": "縦向き固定テーブル画像alt" } } }, "handle": "multiColumn", "id": "yGLCxkSJ", "expanded": true } ], "version": 2, "ts": 1699842128098 }
一度データを開いて保存すると自動でデータのマイグレーションが行われます。「マルチカラム」の中で「縦向き固定テーブル」を利用している場合は、事前にテンプレートを調整してください。
コンテンツデータフィールドの response データ(2024年2月19日追記)
マルチフィールド v2 では、コンテンツデータフィールドで保存されるデータの中に「 response
」というプロパティがあり、そこにコンテンツデータフィールドで選択したものを管理画面で表示する際に使ったData APIのレスポンスが入っていました。
しかし、このデータはコンテンツデータフィールドを含むマルチフィールドのページを保存した時点でのデータとなり、選択したコンテンツデータが更新されたとしても、この response
内のデータは更新されません。
したがって、v3 では response
プロパティは削除されました。
旧バージョンのメソッドの廃止(2023年11月20日追記)
MTAppjQuery v2 までは MTAppjQuery プラグインのシステム設定の「利用データの設定」において「旧バージョンのメソッド」を有効にすると、 MTAppJSONTable
や MTAppListing
といった MTAppjQuery v1 系のメソッドが利用できましたが、この設定は MTAppjQuery v3.0.1 で削除されました。
MTAppJSONTable
と MTAppListing
の2つのメソッドについては MTAppjQuery.js 本体に統合されましたのでそのままお使いいただけます。それ以外の旧バージョンのメソッドをご利用の場合は、MTAppjQuery v3 ユーザーマニュアルの「MTAppjQuery v2 から v3 へのアップグレード」のセクションをご確認ください。
その他の変更等
- コンテンツデータフィールドのオブジェクト
mtappVars.contentDataFields
の値が参照する要素が jQuery オブジェクトからHTMLElementオブジェクトに変更されました。 - コンテンツデータフィールドのIDと名前の配列
mtappVars.contentDataFieldsArray
のid
プロパティの値が文字列から数値になりました。 mtappVars.content_type.fields
が正しく取得できていなかったのを修正mtapp.templateListCustomize()
が削除されました。