intra-mart Accel Platform メニュー インポート・エクスポート仕様書 第4版 2018-04-01

5. ファイルフォーマット

この章では、インポート・エクスポート機能で利用するファイルのフォーマットについて説明します。
ファイルフォーマットの詳細については「メニューインポートデータ定義書」を参照してください。

メニューのインポート・エクスポートでサポートしているファイルフォーマットは、XML形式のみです。

メニューグループカテゴリ

XMLファイルフォーマット

以下はXMLファイルの例です。
<menu-group-category-data> タグ内に1つのメニューグループカテゴリに関連する情報をすべて記述します。
<root xmlns="http://intra-mart.co.jp/im_menu/menu-group-category-data">
    <menu-group-category-data category="menu-group-category-1" selectable="true">
        <display-names>
            <display-name locale="ja">メニューグループカテゴリ1</display-name>
            <display-name locale="en">menu group category 1</display-name>
        </display-names>
    </menu-group-category-data>
    <menu-group-category-data category="menu-group-category-2" selectable="true">
        <display-names>
            <display-name locale="ja">メニューグループカテゴリ2</display-name>
            <display-name locale="en">menu group category 2</display-name>
        </display-names>
    </menu-group-category-data>
    <menu-group-category-data category="menu-group-category-3" selectable="true">
        <display-names>
            <display-name locale="ja">メニューグループカテゴリ3</display-name>
            <display-name locale="en">menu group category 3</display-name>
        </display-names>
    </menu-group-category-data>
</root>

インポートしたメニューグループカテゴリは、認可設定画面で確認することができます。

../../_images/menu_group_category.png

「XMLファイルの例」をインポートした時の認可リソース

コラム

上記「XMLファイルの例」のように、英語、日本語の表示名しかない場合、個人設定のロケールを中国語にすると、メニューグループカテゴリの認可リソース名はテナントロケールの表示名で表示されます。

メニューグループカテゴリ情報

<menu-group-category-data> タグにメニューグループカテゴリ情報を記述します。
項目 ノード名 説明
メニューグループカテゴリID category システム内部で使用されるメニューグループカテゴリの識別子です。
選択可能フラグ selectable

メニュー設定画面において、メニューグループカテゴリのセレクトボックスで選択可能かどうかを決める設定です。

指定する値 説明
true 選択可能
false 選択不可能
更新可能フラグ editable ※現在、使用されておりません。設定しないでください。

メニューグループカテゴリ表示名情報

メニューグループカテゴリに設定された表示名です。
ロケールごとの表示名を保持します。
<display-names> タグ配下には、ロケールの数だけ <display-name> タグを記述します。
項目 ノード名 説明
表示名 <display-name>
メニューグループカテゴリに設定されている言語別の表示名です。
ロケールごとに設定可能です。
ロケールID locale メニューグループカテゴリ表示名のロケールです。ロケールIDで設定します。

メニューグループ

XMLファイルフォーマット

以下はXMLファイルの例です。
<menu-group-data> タグ内に1つのメニューグループに関連する情報をすべてを記述します。
<root xmlns="http://intra-mart.co.jp/im_menu/menu-group-data">
    <menu-group-data id="menu-group-1">
        <category id="im_sitemap_pc"></category>
        <menu-item menu-id="menu-group-1" sort-number="1" type="folder" method="get" use-iframe="false" use-popup="false">
            <display-names>
                <display-name locale="ja">メニューグループ1</display-name>
                <display-name locale="en">menu group 1</display-name>
            </display-names>
            <menu-item menu-id="menu-item-1-1" sort-number="0" type="item" url="xxxx/xxx/xxx" method="get" use-iframe="false" use-popup="false">
                <display-names>
                    <display-name locale="ja">メニューアイテム1-1</display-name>
                    <display-name locale="en">menu item 1-1</display-name>
                </display-names>
            </menu-item>
            <menu-item menu-id="menu-item-1-2" sort-number="1" type="item" url="xxxx/xxx/xxx" method="get" use-iframe="false" use-popup="false">
                <display-names>
                    <display-name locale="ja">メニューアイテム1-2</display-name>
                    <display-name locale="en">menu 1-2</display-name>
                </display-names>
            </menu-item>
            <menu-item menu-id="menu-folder-1-3" sort-number="2" type="folder" url="empty" method="get" use-iframe="false" use-popup="false">
                <display-names>
                    <display-name locale="ja">メニューフォルダ1-3</display-name>
                    <display-name locale="en">menu folder 1-3</display-name>
                </display-names>
                <menu-item menu-id="menu-item-1-3-1" sort-number="1" type="item" url="xxxx/xxx/xxx" image-path="" method="get" use-iframe="true" use-popup="false" icon-16="" icon-32="" icon-48="">
                    <display-names>
                        <display-name locale="ja">メニューアイテム1-3-1</display-name>
                        <display-name locale="en">menu item 1-3-1</display-name>
                    </display-names>
                </menu-item>
            </menu-item>
        </menu-item>
    </menu-group-data>
    <menu-group-data id="menu-group-2">
        <category id="im_sitemap_pc"></category>
        <menu-item menu-id="menu-group-2" sort-number="2" type="folder" url="empty" method="get" use-iframe="false" use-popup="false">
            <display-names>
                <display-name locale="ja">メニューグループ2</display-name>
                <display-name locale="en">menu group 2</display-name>
            </display-names>
            <menu-item menu-id="menu-item-2-1" sort-number="0" type="item" url="xxxx/xxx/xxx" image-path="" method="get" use-iframe="false" use-popup="false" icon-16="" icon-32="" icon-48="">
                <display-names>
                    <display-name locale="ja">メニューアイテム2-1</display-name>
                    <display-name locale="en">menu item 2-1</display-name>
                </display-names>
            </menu-item>
        </menu-item>
    </menu-group-data>
</root>

上記のXMLファイルをインポートした場合、画面上のメニューは以下の通りです。

../../_images/menu_group.png

「XMLファイルの例」をインポートした結果

注意

メニューアイテムや外部メニューリンクの配下にメニューアイテムを配置しないでください。
配置した場合、強制的にメニューフォルダに変換されてしまいます。

コラム

メニューフォルダの配下にメニューアイテムを配置することで、メニューの階層構造が構築されます。
上記の例ではメニューID menu-folder-1-3 のメニューフォルダー配下に、メニューID menu-item-1-3-1 のメニューアイテムが設定されています。

コラム

上記「XMLファイルの例」のように、英語、日本語の表示名しかない場合、個人設定のロケールを中国語にすると、メニューはテナントロケールの表示名で表示されます。

メニューグループ情報

<menu-group-data> タグにメニュー情報を記述します。
項目 ノード名 説明
メニューグループID id システム内部で使用されるメニューグループの識別子です。
ルートのメニューID menu-id メニューグループ内のルートメニューの識別子です。

注意

メニューグループIDとルートのメニューIDは一致させる必要があります。

メニューグループカテゴリ内包情報

メニューグループがどのメニューグループカテゴリに属しているかの情報です。
<category> タグにメニューグループカテゴリ情報を記述します。
項目 ノード名 説明
メニューグループカテゴリID id メニューグループと紐付けられているメニューグループカテゴリのIDです。

メニュー情報

<menu-item> タグにメニュー情報を記述します。
項目 ノード名 説明
メニューID menu-id システム内部で使用されるメニューの識別子です。
ソート番号 sort-number メニューが表示されるときのソート順を決める値です。
メニューのデータ種別 type

メニューのデータ種別を指定します。

指定する値 データ種別
item メニューアイテム
folder メニューフォルダ
external 外部メニューリンク
URL url

メニューのリンク先 URL です。

パス種別
相対パス menu/sitemap
絶対パス http://www.intra-mart.jp
画像ファイルパス image-path メニューのアイコン画像のパスです。 コンテキストパス配下の URL を指定します。
コピー元メニューID original-menu-id メニューをコピーして作成する場合に、コピー元のメニューIDを指定します。
HTTPメソッド method
メニューからアクセスするときのリクエスト方式を指定します。
指定できる値は、getpost です。
IFRAME使用フラグ use-iframe

リンク先を表示するときにIFRAMEを使うかどうかを指定します。

指定する値 説明
true IFRAMEを使う
false IFRAMEを使わない
ポップアップ使用フラグ use-popup

リンク先を表示するときにポップアップで表示するかどうかを指定します。

指定する値 説明
true ポップアップで表示する
false ポップアップで表示しない
説明 <description> メニューの説明です。
16x16サイズ用アイコンのアイコンID icon-16 メニューの16x16サイズ用アイコンのアイコンIDです。 システムが16x16サイズのアイコンを要求している画面で利用されるアイコンIDを指定します。
32x32サイズ用アイコンのアイコンID icon-32 メニューの32x32サイズ用アイコンのアイコンIDです。 システムが32x32サイズのアイコンを要求している画面で利用されるアイコンIDを指定します。
48x48サイズ用アイコンのアイコンID icon-48 メニューの48x48サイズ用アイコンのアイコンIDです。 システムが48x48サイズのアイコンを要求している画面で利用されるアイコンIDを指定します。
  • メニューフォルダ

    メニュー情報を構成する項目のうち、メニューフォルダで使用されるのは以下の通りです。

    • メニューID
    • ソート番号
    • メニューのデータ種別
    • 画像ファイルパス
    • 説明
    • 16x16サイズ用アイコンのアイコンID
    • 32x32サイズ用アイコンのアイコンID
    • 48x48サイズ用アイコンのアイコンID
  • メニューアイテム

    メニューアイテムでは全ての項目を使用します。

  • 外部メニューリンク

    メニュー情報を構成する項目のうち、使用されるのは以下の通りです。

    • メニューID
    • ソート番号
    • メニューのデータ種別
    • URL

コラム

16x16サイズ用アイコンのアイコンID と 32x32サイズ用アイコンのアイコンID と 48x48サイズ用アイコンのアイコンIDは、intra-mart Accel Platform 2018 Spring(Skylark) 以降で利用可能です。

メニュー引数情報

<arguments> タグ配下に、メニュー引数の数だけ <argument> タグを記述します。
項目 ノード名 説明
キー key 引数のキーを指定します。
value 引数の値を指定します。

メニュー表示名情報

メニューに設定された表示名です。
ロケールごとの表示名を保持します。
<display-names> タグ配下にロケールの数だけ <display-name> タグを記述します。
項目 ノード名 説明
ロケールID locale メニュー表示名のロケールです。ロケールIDで設定します。
表示名 <display-name>
メニューに設定されている言語別の表示名です。
ロケールごとに設定可能です。

互換性

intra-mart Accel Platform で利用するメニューのインポートファイルは、 intra-mart WebPlatform/AppFramework のメニューで利用するインポートファイルと互換性がありません。