記事の編集画面で見た目をちょっと変えたいとか、入力欄を任意の順番で固定したいことがありますよね??
(↑は、ログイン画面をカスタムしてみた例です。)
Movable Type / PowerCMSには、管理画面をカスタムする方法がいくつかあります。
今回は各方法のメリットデメリットなどをご紹介します。
bit part社が提供している管理画面拡張プラグインです。
Movable Type6 / PowerCMSまではV1、Movable Type7以降はV2が使用できます。
ウチでもよく使わさせていただいています。
https://bit-part.net/products/mtappjquery/
こちらは、Movable Type / PowerCMSどのバージョンでも使える方法です。
Movable Typeのフォルダ内の「tmpl」には管理画面のテンプレートファイルが入っています。
そこからカスタムしたいページのファイルを「alt-tmpl」に複製して設置すると、こちらのファイルを優先して表示するようになります。
例えば、コンテンツタイプの編集ページに管理画面用のJSファイルを読み込ませたい場合
「tmpl/cms/edit_content_data.tmpl」を「alt-tmpl/cms/edit_content_data.tmpl」に複製。
このファイル内に「<script~」と記述しておけば、反映されます。
こちらはPowerCMS 5以降で使える方法になります。
管理画面のメニュー [設定] > [PowerCMS] 内の「管理画面カスタマイズ設定」の「<head> への埋め込み」の入力欄に入力すると、管理画面の<head>内に挿入されます。
入力欄内では、MTタグも使用できるのでURLパラメータやテンプレート変数で分岐することも可能です。
→ PowerCMS 5 の管理画面カスタマイズ機能 | PowerCMS ブログ
PowerCMSの拡張カスタムフィールドとして用意されている「スニペット・カスタムフィールド」を使えば、ある程度管理画面をいじることが可能です。
スニペットの編集画面の「規定値」内では、MTタグ、HTMLが記述できるので、そのなかでJSやCSSも使えます。
もちろん<mt:Include>も使えるので、別途モジュールテンプレートとして管理してもOK。
ただ、そのままだとカスタムフィールドのタイトルなどが表示されてしまうので、JSやCSSで非表示にしておきましょう。
PowerCMSで使用できるテンプレート変数の一部をメモ。
mt.cgi?__mode=view&_type=entry&id=1234&blog_id=20&saved_changes=1
だった場合、出力される値は以下になります。