お知らせ
2008年3月28日
「これだけは知っておきたい Webアプリケーションの常識」が発売されました。
Webアプリケーションを作る上では、HTTPのプロトコルや、開発言語、データベースなど、さまざまな知識を組み合わせることが必要になります。
それらを全般的にまとめた一冊です。
Webアプリケーション開発にチャレンジしたい方や、実際に開発までしないまでも基礎知識として知っておきたい方にお勧めです。
他にも多数書籍を執筆しています。
こちらもぜひご覧ください。
管理画面のカスタマイズをプラグインで行う「BIGPAPI」
Movable Typeでは、プラグインを使うことでさまざまに機能を拡張することができます。
ただ、管理画面(エントリーの編集など)をカスタマイズするには、それぞれの画面のテンプレートのファイルを直接に書き換えることが必要で、プラグインで処理することができませんでした。
例えば、エントリーの入力画面に何か機能を追加しようとすると、テンプレートのファイルの「edit-entry.tmpl」を書き換えていました。
このようにして、管理画面のテンプレートを直接に書き換えると、Movable Typeをバージョンアップする際に面倒です。
というのも、バージョンアップ版のファイルをアップロードした後に、管理画面のテンプレートを再度書き換える作業が必要になるためです。
このような、管理画面のカスタマイズの問題を解決するプラグインとして、「BIGPAPI」というものがリリースされました。
BIGPAPIは、管理画面を表示する際に、テンプレートの一部を動的に置換する働きをします。
これによって、管理画面のテンプレートのファイルを直接に書き換えずに、プラグインからその都度書き換えることができるようになります。
作者はKevin Shai氏で、以下のページからダウンロードすることができます。
http://www.staggernation.com/mtplugins/BigPAPI/
ページの先頭に「Plugin Code(.pl file)」というリンクがあります。
そのリンクをクリックして「BigPAPI.pl」のファイルを保存し、Movable Typeのpluginsディレクトリにアップロードします。
その後、BigPAPI対応のプラグインを入手して、Movable Typeのpluginsディレクトリにアップロードしていきます。
BigPAPI対応プラグインの簡単な例として、テンプレートの編集画面で、テキストエリアの縦の長さを20行から40行に長くするものを紹介します。
以下のソースコードをコピーし、「ExtendEditTemplateTextArea.pl」という名前をつけて、pluginsディレクトリにアップロードします。
package MT::Plugin::ExtendEditTemplateTextArea;
use strict;
require MT::Plugin;
require MT;
my $plugin = MT::Plugin->new({
name => "Extend edit template text area",
description => 'Extend text area of editing template.'
});
MT->add_plugin($plugin);
MT->add_callback('bigpapi::template::edit_template', 9, $plugin, \&extend_edit_template_textarea);
sub extend_edit_template_textarea {
my ($cb, $app, $template) = @_;
my $old = <<HTMLOLD;
<p><label for="text"><TMPL_IF NAME=TYPE_CUSTOM><MT_TRANS phrase="Module Body"><TMPL_ELSE><MT_TRANS phrase="Template Body"></TMPL_IF></label><br /><textarea name="text" id="text" rows="20" cols="72" class="wide"><TMPL_VAR NAME=TEXT ESCAPE=HTML></textarea></p>
HTMLOLD
$old = quotemeta($old);
my $new = <<HTMLNEW;
<p><label for="text"><TMPL_IF NAME=TYPE_CUSTOM><MT_TRANS phrase="Module Body"><TMPL_ELSE><MT_TRANS phrase="Template Body"></TMPL_IF></label><br /><textarea name="text" id="text" rows="40" cols="72" class="wide"><TMPL_VAR NAME=TEXT ESCAPE=HTML></textarea></p>
HTMLNEW
$$template =~ s/$old/$new/;
}
1;
当方のBlogでも、管理画面を一部カスタマイズするプラグインを公開していますが、今後はBigPAPI対応に変えていく予定です。
前後の記事
トラックバック(1件)
このブログ記事を参照しているブログ一覧: 管理画面のカスタマイズをプラグインで行う「BIGPAPI」
このブログ記事に対するトラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/258.
MovableType 3.2をハックし続けるArvind ってしゅごいですね。 続きを読む


コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。
初めましてtakeshiです。
スーパーカスタマイズテクニック買った!
まだまだ勉強中ですが、面白いです!
BIGPAPIインストールができず先へ進めません。MTバージョンは、3.15-jaです。BigPAPI.plをアスキーモードでpluginsにアップロードして、MTにログインすると、下記のようなエラーが表示され管理画面すら現れません。
Got an error: Can't locate object method "mt_path" via package "MT::App::CMS" at /usr/local/apache/htdocs/mt/plugins/BigPAPI.pl line 144.
プラグインが3.15-jaに対応してないということでしょうか?色々検索してみたんですけどわかりませんでした。どうかお助け下さいませ。
>takeshiさん
こんにちは。
BIGPAPIの大元のページ(http://www.staggernation.com/mtplugins/BigPAPI/)によると、「BIGPAPIはMT3.16以降で動作を確認していて、それ以前のバージョンでは確認していない(動作するかも知れないが)」とのことです。