MTAppFieldSort
編集画面メインカラムのフィールドを指定順に並べ替える。コア欄とカスタム欄(c: 接頭辞)を混在可。指定外を隠すオプションあり。ウィジェットは非対応。
ブログ記事・ウェブページ編集画面のメインカラムのフィールドを、指定した順序に並べ替える静的メソッドです。コアフィールド(タイトル・本文など)とカスタムフィールドを混在させて任意の順番に並べられます。指定外のフィールドを隠すこともできます。ウィジェット(サイドバー)の並べ替えには対応していません。
構文
$.MTAppFieldSort(options);静的メソッド($.MTAppFieldSort)です。
パラメータ
options {Object} — 省略可。以下のプロパティを持ちます。
| プロパティ | 型 | 既定値 | 説明 |
|---|---|---|---|
sort | string | 'title,text,tags,excerpt,keywords' | 上から並べたい順に basename をカンマ区切りで指定。カスタムフィールドは basename の先頭に c: を付ける |
insertID | string | 'sortable' | フィールドを内包する要素の id |
otherFieldHide | boolean | false | true で sort に指定していないフィールドを非表示にする |
addClass | string | '' | 並べ替えた各フィールドに付与するクラス |
debug | boolean | false | true で、sort に指定したフィールドが見つからない場合にコンソールへ通知する |
insert_id | string | — | 非推奨。insertID のエイリアス |
戻り値
なし(undefined)。
使用例
コア欄とカスタム欄を任意順に
// タイトル → カスタムフィールド foo → 本文 の順に並べ、指定外は隠す
$.MTAppFieldSort({ sort: 'title,c:foo,text', otherFieldHide: true });並べ替えた欄にクラスを付与
$.MTAppFieldSort({ sort: 'title,c:summary,text', addClass: 'sorted-field' });user.js での記述例
user.js(「デザイン → user.js を編集」)に書く場合は、mtappVars.screen_id で画面を判定して呼び出します。
(function ($) {
if (typeof mtappVars !== 'object') return;
if (mtappVars.screen_id === 'edit-entry') {
$.MTAppFieldSort({ sort: 'title,c:foo,text', otherFieldHide: true });
}
})(jQuery);補足
sortの各 basename は<basename>-field(カスタムフィールドはcustomfield_<basename>-field)の id を持つフィールド要素として解決されます。- 指定した順に、対象フィールドをコンテナ(既定
#sortable)の先頭へ移動します。sortに並べた順がそのまま画面上の上からの順になります。 otherFieldHide: trueのときは、いったんコンテナ内の全フィールドと#quickpostを隠してから、sort指定のフィールドだけを表示します。debug: trueのときは、sortに指定したのに画面に存在しないフィールドだけをコンソールに通知します(見つかったフィールドは通知されません)。- ウィジェット(サイドバー)の並べ替えには対応していません。
関連
MTAppMoveToWidget— 既存フィールドをサイドバーのウィジェットへ移動する。MTAppCustomize— フィールドのラベル変更・表示制御・クラス追加などをまとめて行う。