MTAppBatchEditCategory

テキスト欄を PowerCMS/MT のアセット選択ダイアログで扱えるフィールドにし、選択アセットの情報(id/ファイル名/URL/サムネ)を JSON 保存する jQuery プラグイン。P7 最適化版。

記事/ウェブページの一括編集画面で、カテゴリ(記事)またはフォルダ(ページ)を全行まとめて変更するボタンを追加する jQuery プラグインです。一括編集の操作バーに「一括指定用のプルダウン」と「まとめて変更ボタン」を追加し、ボタンを押すと全行のカテゴリ/フォルダ列がプルダウンで選んだ値に一括設定されます。

構文

$.MTAppBatchEditCategory(options);

$. 直下の静的メソッド($.MTAppBatchEditCategory(...))です。一括編集画面(batch-edit-entry / batch-edit-page)以外では何もしません。

パラメータ

options {Object} — 省略可。

プロパティ既定値説明
textstringをまとめて変更ボタンに表示するテキスト。先頭に「カテゴリ」(記事)または「フォルダ」(ページ)が自動で付与される(例: カテゴリをまとめて変更

戻り値

{void} — 一括編集画面でない場合、またはカテゴリ/フォルダ列が無い場合は何もしません。

使用例

// 一括編集画面でカテゴリ/フォルダの一括変更ボタンを追加する
$.MTAppBatchEditCategory();

// ボタンのテキストを変更する
$.MTAppBatchEditCategory({ text: 'を一括設定' });

user.js での記述例

user.js(「デザイン → user.js を編集」)に書く場合は、mtappVars.screen_id で画面を判定して呼び出します。

(function ($) {
    if (typeof mtappVars !== 'object') return;
    if (mtappVars.screen_id.indexOf('batch-edit-') === 0) {
        // 一括編集画面
        $.MTAppBatchEditCategory();
    }
})(jQuery);

生成される HTML

一括編集画面の操作バー(#actions-bar-top)の保存ボタンの直後に、一括指定用のプルダウン(先頭行のカテゴリ/フォルダ選択を複製したもの)と、まとめて変更ボタンが挿入されます。

<div id="actions-bar-top">
    <button class="primary">保存</button>
    <select style="margin-right:5px;">…(カテゴリ/フォルダの選択肢)…</select>
    <button class="button" title="カテゴリをまとめて変更">カテゴリをまとめて変更</button>
</div>

補足

  • 一括編集画面(記事一覧で複数記事を選択 → アクション「記事の一括編集」)でのみ動作します。記事なら「カテゴリ」、ページなら「フォルダ」を対象にします。
  • ボタンを押すと、複製したプルダウンで選んだ値を、一覧の全行のカテゴリ/フォルダ列(td.category select)に一括で設定します。設定後、通常どおり「保存」で確定します。
  • 一括編集画面にカテゴリ/フォルダ列が表示されていない場合は何もしません。
  • ボタンのラベルやタイトルは要素のテキスト/属性として安全に設定するため、text に記号が含まれても HTML として解釈されません。

関連

  • MTAppCategorySwitch — カテゴリ選択に応じて記事編集画面のフィールド表示を切り替える。
  • MTAppOtherTypeCategories — 記事編集画面で他のカテゴリセットを選択できるようにする。