本文へジャンプ

Movable Type / PowerCMS の管理画面をカスタムする。

Movable Type / PowerCMS の管理画面をカスタムする。

記事の編集画面で見た目をちょっと変えたいとか、入力欄を任意の順番で固定したいことがありますよね??
(↑は、ログイン画面をカスタムしてみた例です。)

Movable Type / PowerCMSには、管理画面をカスタムする方法がいくつかあります。
今回は各方法のメリットデメリットなどをご紹介します。

MTAppjQuery

MTAppjQuery

bit part社が提供している管理画面拡張プラグインです。
Movable Type6 / PowerCMSまではV1、Movable Type7以降はV2が使用できます。
ウチでもよく使わさせていただいています。
https://bit-part.net/products/mtappjquery/

〇メリット

  • 入力項目を簡単に拡張できる関数がたくさん用意されている。
  • 外部JS/CSSファイルで一括管理可能。
  • モジュールテンプレートをつかってDataAPIとの連携も簡単に。
  • user.js/user.cssをテンプレ化すれば、MTタグを使用できる。

×デメリット

  • 有料(サポート1年付き)
  • プラグインを入れないといけない。

alt-tmplを使用する

こちらは、Movable Type / PowerCMSどのバージョンでも使える方法です。

Movable Typeのフォルダ内の「tmpl」には管理画面のテンプレートファイルが入っています。
そこからカスタムしたいページのファイルを「alt-tmpl」に複製して設置すると、こちらのファイルを優先して表示するようになります。

例えば、コンテンツタイプの編集ページに管理画面用のJSファイルを読み込ませたい場合
tmpl/cms/edit_content_data.tmpl」を「alt-tmpl/cms/edit_content_data.tmpl」に複製。
このファイル内に「<script~」と記述しておけば、反映されます。

〇メリット

  • 標準で管理画面をいじれる。
  • Movable Type / PowerCMS バージョン問わず使える。
  • MTタグを使える。

×デメリット

  • FTPなどでCMSフォルダにファイルをアップできないと使えない。(インデックステンプレートで書き出せるなら可能)
  • アップデートでtmplファイルに修正が入る可能性がある

PowerCMSのカスタマイズ機能

PowerCMSのカスタマイズ機能

こちらはPowerCMS 5以降で使える方法になります。

管理画面のメニュー [設定] > [PowerCMS] 内の「管理画面カスタマイズ設定」の「<head> への埋め込み」の入力欄に入力すると、管理画面の<head>内に挿入されます。
入力欄内では、MTタグも使用できるのでURLパラメータやテンプレート変数で分岐することも可能です。

PowerCMS 5 の管理画面カスタマイズ機能 | PowerCMS ブログ

〇メリット

  • PowerCMSの標準機能!
  • 管理画面上からいじれる。
  • MTタグを使える。

×デメリット

  • PowerCMS4以下、Movable Typeでは使えない。

スニペット・カスタムフィールドを使う

スニペット・カスタムフィールドを使う

PowerCMSの拡張カスタムフィールドとして用意されている「スニペット・カスタムフィールド」を使えば、ある程度管理画面をいじることが可能です。

スニペットの編集画面の「規定値」内では、MTタグ、HTMLが記述できるので、そのなかでJSやCSSも使えます。
もちろん<mt:Include>も使えるので、別途モジュールテンプレートとして管理してもOK。
ただ、そのままだとカスタムフィールドのタイトルなどが表示されてしまうので、JSやCSSで非表示にしておきましょう。

〇メリット

  • PowerCMS4以下でも、標準機能として使用可能。

×デメリット

  • 該当のカスタムフィールドが表示されていないと、指定内容が反映されない。

テンプレート変数

PowerCMSで使用できるテンプレート変数の一部をメモ。

mt.cgi?__mode=view&_type=entry&id=1234&blog_id=20&saved_changes=1

だった場合、出力される値は以下になります。

  • <$mt:Var name="request.__mode"$> → view
  • <$mt:Var name="request._type"$> → entry
  • <$mt:Var name="request.blog_id"$> → 20
  • <$mt:Var name="blog_id"$> → 20
  • <$mt:Var name="request.saved_changes"$> → 1
  • <$mt:Var name="request.id"$> → 1234
Recent Entries
MD EVENT REPORT
What's Hot?