データベースにフィールドを追加して、オリジナルタグでそのフィールドに追加されたデータを取り出すプラグイン

とりあえず動作確認済み。新しくMTEntryTestというファンクションタグが使用可能になる。

package MT::Plugin::Hoge;

use base qw( MT::Plugin );
my $plugin = new MT::Plugin ({
	id => 'Hoge',
	name => 'Hoge',
	key => 'Hoge',
	version => '1.00',
	doc_link => 'http://blog.t-szk.com/',
	author_name => 'Suzuki Toshinari',
	author_link => 'http://blog.t-szk.com/',
	plugin_link => 'http://blog.t-szk.com/',
	description => 'ほげ',
	schema_version => '1.01',
	registry => {
		object_types => {
			'entry' => {
				'test' => 'text'
			}
		},
		tags => {
			function => {
				'EntryTest' => \&entry_test
			}
		}
	},
	callbacks => {
		'cms_post_save.entry' => {
			code => \&save_entry_test
		}
	}
});
MT->add_plugin ($plugin);

sub save_entry_test{
	my($eh, $app, $entry, $orig_entry) = @_;
	$entry->test($app->param('test'));
}

sub entry_test{
	my($ctx, $arg) = @_;
	my $entry = $ctx->stash('entry');
	$entry->test;
}

1;