お知らせ

DATE 2023.11.17

MTAppjQuery v2 から v3 へのアップグレードに関する注意事項

CATEGORY
製品

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 で削除されました。 

MTAppJSONTableMTAppListing の2つのメソッドについては MTAppjQuery.js 本体に統合されましたのでそのままお使いいただけます。それ以外の旧バージョンのメソッドをご利用の場合は、MTAppjQuery v3 ユーザーマニュアルの「MTAppjQuery v2 から v3 へのアップグレード」のセクションをご確認ください。

その他の変更等

  • コンテンツデータフィールドのオブジェクト mtappVars.contentDataFields の値が参照する要素が jQuery オブジェクトからHTMLElementオブジェクトに変更されました。
  • コンテンツデータフィールドのIDと名前の配列 mtappVars.contentDataFieldsArrayid プロパティの値が文字列から数値になりました。
  • mtappVars.content_type.fields が正しく取得できていなかったのを修正
  • mtapp.templateListCustomize() が削除されました。

カテゴリ

年別アーカイブ

その他の記事

  • ${ formatDate(entry.date) }
  • PAGETOP