Movable Typeプラグイン開発入門:第三回 管理画面サイドメニューの変更と追加方法
作成日:2025.03.06
第三回の記事では、Movable Type管理画面のサイドメニューの変更・追加方法について解説します。既存メニューの名称変更から新規子メニュー・新規メニューの追加まで、具体的なYAML設定例をもとに詳しく紹介します。
Movable Type のプラグインの作り方の解説記事、第三回です。
過去の記事は、
今回は、Movable Type管理画面のサイドメニューを変更・追加する方法を解説します。
メニューの変更
管理画面のサイドメニューを変更するには、プラグインの config.yaml に以下のような設定を追加します。
applications:
cms:
menus:
settings:
label: コンフィグ
icon: ic_tool
order: 1700
上記の例では「設定」メニューの名前を「コンフィグ」に変更し、アイコンを「ツール」アイコンに、また表示順を変更しています。
- label
- メニューの表示名。
- icon
- アイコンのファイル名。
mt/mt-static/images/icons/
のディレクトリ内のアイコンファイル名を指定します(拡張子 .svg は省略する)。 - order
- 表示順(昇順)。
既存のメニューの order 値は、mt/lib/MT/App/CMS.pm
のsub core_menus
を参考にしてください。
既存メニューに新規子メニューを追加
既存のメニューに新規の子メニューを追加するには、以下のような設定を追加します。
applications:
cms:
menus:
tools:sampleplugin:
label: サンプルプラグイン
order: 40
mode: sampleplugin
view:
- blog
- website
condition: sub { return 1;}
上記の例では「ツール」メニューに「サンプルプラグイン」という名前の子メニューを追加しています。
- tools:sampleplugin
- 既存メニューの ID に続けて子メニューの ID を指定します。
- label
- メニューの表示名。
- order
- 表示順(昇順)。
- mode
- メニューをクリックした際に表示する画面のモード名。
https://hostname/mt/mt.cgi?__mode=sampleplugin
という形でリンク先URLが指定されます。
実際に __mode=hogehoge で何らかの処理を追加する方法については、また今度書きます。 - view
- メニューを表示する画面の種類を指定します。
この例ではブログとウェブサイトの管理画面で表示されるようにしています。
system
を指定すれば、「システム」の管理画面で表示されます。 - condition
- メニューを表示する条件を指定します。1が返れば表示、0なら非表示。
この例では常に表示するようにしていますが、Perlのコードで表示条件を指定することもできます。
新規メニューを追加
新規のメニューを追加するには、以下のような設定を追加します。
applications:
cms:
menus:
sampleplugin:
label: サンプルプラグイン
icon: ic_tool
order: 1550
system_permission: administer
sampleplugin:setting:
label: プラグイン設定
order: 10
mode: sampleplugin_setting
view: system
condition: sub { return 1;}
上記の例では新規メニュー「サンプルプラグイン」を追加し、その子メニュー「プラグイン設定」を追加しています。
- label
- メニューの表示名。
- icon
- アイコンのファイル名。
mt/mt-static/images/icons/
のディレクトリ内のアイコンファイル名を指定します(拡張子 .svg は省略する)。 - order
- 表示順(昇順)。
- system_permission
- システム管理画面での表示権限。
この例では管理者のみにメニューが表示されます。
システム管理画面ではなく、ブログ・ウェブサイトの管理画面での表示権限を指定する場合は、permission
を指定します。 - mode
- メニューをクリックした際に表示する画面のモード名。
https://hostname/mt/mt.cgi?__mode=sampleplugin_setting
という形でリンク先URLが指定されます。 - view
- メニューを表示する画面の種類を指定します。
この例では「システム」の管理画面で表示されるようにしています。 - condition
- メニューを表示する条件を指定します。1が返れば表示、0なら非表示。
この例では常に表示するようにしていますが、Perlのコードで表示条件を指定することもできます。
なお、子メニューが一つ以上存在しないと、親メニュー自体も表示されませんので、段階を踏んで動作確認しながら実装を試してみる場合はご注意ください。
Movable Typeプラグイン開発入門:第五回:独立CGIスクリプトで設定表示機能を実装
2025.03.08
第五回の記事では、前回までの連載内容を踏まえて、設定表示機能を別CGIスクリプトとして実装する方法を詳しく解説します。Perlモジュールの修正手順やCGIスクリプトの構成、動作確認のポイントを具体例とともに紹介します。
Movable Typeプラグイン開発入門:第四回 管理画面へのモード追加と設定表示の実装
2025.03.07
第四回目の連載記事では、Movable Typeの管理画面に新たな機能を追加する方法として、モード定義を使った設定画面の実装を紹介します。前回記事との連携と、Perlモジュールでの設定値取得手法について分かりやすく解説します。
Movable Typeプラグイン開発入門:第二回 設定画面の実装と動作確認
2025.03.05
Movable Typeプラグイン開発連載の第二回です。前回の記事に続き、config.yamlに設定画面用の情報を追加し、設定テンプレートファイルの作成と動作確認について詳しく解説します。
Movable Typeプラグイン開発入門:第一回 基本的なプラグインの作成方法
2025.03.04
初めてMovable Typeのプラグインを開発する方のために、基本的なプラグインの作成手順を解説する連載記事の第一回です。プラグインの設定ファイルの詳細やトラブルシューティングのポイントも含めて説明します。