技術資料

Movable Typeプラグイン開発入門:第三回 管理画面サイドメニューの変更と追加方法

作成日:2025.03.06
更新日:2025.03.07

第三回の記事では、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.pmsub 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のコードで表示条件を指定することもできます。

なお、子メニューが一つ以上存在しないと、親メニュー自体も表示されませんので、段階を踏んで動作確認しながら実装を試してみる場合はご注意ください。

第四回 管理画面へのモード追加と設定表示の実装

2025.03.07追記

次の記事は、Movable Typeプラグイン開発入門:第四回 管理画面へのモード追加と設定表示の実装です。

この記事を書いた人

※上が私です。

奈良市を拠点に、25年以上の経験を持つフリーランスWebエンジニア、阿部辰也です。

これまで、ECサイトのバックエンド開発や業務効率化システム、公共施設の予約システムなど、多彩なプロジェクトを手がけ、企業様や制作会社様のパートナーとして信頼を築いてまいりました。

【制作会社・企業様向けサポート】
  • 専任エンジニアのいない企業様に対するシステム面の不安を解消
  • 柔軟な契約形態や短納期での対応により、急なニーズにも迅速にサポート
  • システムの企画段階から運用まで、ワンストップでのサービスを提供

Webシステムの開発やサイト改善でお困りの際は、どうぞお気軽にご相談ください。小さな疑問から大規模プロジェクトまで、最適なご提案を心を込めてさせていただきます。

ぜひ、プロフィールWeb制作会社様向け業務案内一般企業様向け業務案内もご覧くださいね。

Movable Typeプラグイン開発入門:第六回 ローカライゼーションの実装方法

2025.03.13

第六回では、Movable Typeプラグインのローカライゼーションに焦点を当て、多言語対応の具体的な手法を紹介します。多言語対応の実装方法を学び、プラグインの利用者層を広げましょう。

Movable Type Perl

Movable Typeプラグイン開発入門:第五回 独立CGIスクリプトで設定表示機能を実装

2025.03.08

第五回の記事では、前回までの連載内容を踏まえて、設定表示機能を別CGIスクリプトとして実装する方法を詳しく解説します。Perlモジュールの修正手順やCGIスクリプトの構成、動作確認のポイントを具体例とともに紹介します。

Movable Type Perl

Movable Typeプラグイン開発入門:第四回 管理画面へのモード追加と設定表示の実装

2025.03.07

第四回目の連載記事では、Movable Typeの管理画面に新たな機能を追加する方法として、モード定義を使った設定画面の実装を紹介します。前回記事との連携と、Perlモジュールでの設定値取得手法について分かりやすく解説します。

Movable Type Perl

Movable Typeプラグイン開発入門:第二回 設定画面の実装と動作確認

2025.03.05

Movable Typeプラグイン開発連載の第二回です。前回の記事に続き、config.yamlに設定画面用の情報を追加し、設定テンプレートファイルの作成と動作確認について詳しく解説します。

Movable Type

阿部辰也へのお仕事の依頼・お問い合わせ

軽いご相談もお気軽にどうぞ!

個人情報の取り扱いについて *必須 プライバシーポリシーをご確認いただき、同意いただける場合は「同意する」にチェックをしてください。

keyboard_double_arrow_up
TOP