Movable Typeプラグイン開発入門:第五回:独立CGIスクリプトで設定表示機能を実装
作成日:2025.03.08
第五回の記事では、前回までの連載内容を踏まえて、設定表示機能を別CGIスクリプトとして実装する方法を詳しく解説します。Perlモジュールの修正手順やCGIスクリプトの構成、動作確認のポイントを具体例とともに紹介します。
Movable Type のプラグインの作り方の解説記事、第五回です。
過去の記事は、
- Movable Typeプラグイン開発入門:第一回 基本的なプラグインの作成方法
- Movable Typeプラグイン開発入門:第二回 設定画面の実装と動作確認
- Movable Typeプラグイン開発入門:第三回 管理画面サイドメニューの変更と追加方法
- Movable Typeプラグイン開発入門:第四回 管理画面へのモード追加と設定表示の実装
今回は、第四回で実装した設定表示の動作モードと同等の機能を、別CGIスクリプトで実装する方法を解説します。
CGIスクリプトの作成
まずは、Movable Typeのプラグインとは別のCGIスクリプトを作成します。ここでは、mt/plugins/SamplePlugin/show_setting.cgi
という名前で作成します。
#!/usr/bin/perl -w
use strict;
use lib '../../lib';
use lib '../../extlib';
use MT::Bootstrap App => 'SamplePlugin::PluginSetting';
上記のスクリプトは、mt/plugins/SamplePlugin/lib/SamplePlugin/PluginSetting.pm
を実行するCGIスクリプトです。
Perlモジュール PluginSetting.pm の作成
次に、前回作成したPuginSetting.pm
を以下のように修正します。
package SamplePlugin::PluginSetting;
use strict;
use warnings;
use base qw( MT::App );
sub init_request {
my $app = shift;
$app->SUPER::init_request(@_);
$app->add_methods(
main => \&show_setting,
show_setting => \&show_setting,
);
$app->{default_mode} = 'main';
$app->{requires_login} = 0;
}
sub show_setting {
my $app = shift;
my $plugin = MT->component('SamplePlugin');
my %param;
eval{
# プラグイン設定を取得
$param{api_key} = $plugin->get_config_value('sample_api_key', 'system');
$param{api_enable} = $plugin->get_config_value('sample_api_enable', 'system');
};
if($@){
print "Content-Type: text/html\n\n";
print "プラグイン設定の取得に失敗しました。: $@";
return;
}
$app->load_tmpl('sampleplugin_showsetting.tmpl', \%param);
}
1;
init_request
メソッドで、$app->{requires_login}
に0を設定しています。これにより、MTへのログインを必要としないCGIスクリプトとして動作します。
※APIキーを表示するCGIなので、認証が不要であるのはセキュリティ的によろしくないですが、今回は解説のためにこのようにしています。
show_setting
メソッドは、前回の記事で作成したものと同じです。
また、show_setting
メソッドで表示するテンプレートファイルsampleplugin_showsetting.tmpl
も、前回の記事で作成したものと同じものを使用できます。
動作確認
ブラウザでhttp://hostname/mt/plugins/SamplePlugin/show_setting.cgi
にアクセスして、プラグインの設定画面が表示されることを確誩してください。
Movable Typeプラグイン開発入門:第四回 管理画面へのモード追加と設定表示の実装
2025.03.07
第四回目の連載記事では、Movable Typeの管理画面に新たな機能を追加する方法として、モード定義を使った設定画面の実装を紹介します。前回記事との連携と、Perlモジュールでの設定値取得手法について分かりやすく解説します。
Movable Typeプラグイン開発入門:第三回 管理画面サイドメニューの変更と追加方法
2025.03.06
第三回の記事では、Movable Type管理画面のサイドメニューの変更・追加方法について解説します。既存メニューの名称変更から新規子メニュー・新規メニューの追加まで、具体的なYAML設定例をもとに詳しく紹介します。
Movable Typeプラグイン開発入門:第二回 設定画面の実装と動作確認
2025.03.05
Movable Typeプラグイン開発連載の第二回です。前回の記事に続き、config.yamlに設定画面用の情報を追加し、設定テンプレートファイルの作成と動作確認について詳しく解説します。
Movable Typeプラグイン開発入門:第一回 基本的なプラグインの作成方法
2025.03.04
初めてMovable Typeのプラグインを開発する方のために、基本的なプラグインの作成手順を解説する連載記事の第一回です。プラグインの設定ファイルの詳細やトラブルシューティングのポイントも含めて説明します。