メモ:Movable Type:このプラグインは、 Mvable Type 6向けにアップグレードされていません。の直しかた
Movable Type で古いプラグインを使用していると、表題のような警告がプラグインリストに出ていることがあります
そのままでも動作するのがあったりしますが、今後のことも考えると、似た機能の別のプラグインを探すか、修正するとかいう選択を迫られることとおもいます。
今回は、この警告の対処について、メモとして書いてみますが、あくまでも個人的な使用前提での話ということですので、本番環境で複数ユーザ運営システムの環境は考慮していません。
名指しで申し訳ないのですが、伏せた状態で説明しても分かりにくいので、古めのプラグインの例として TBPingLinkLookup を選ばせてもらいました。
参照:
メッセージに書かれているとおりなのですが、変更の実際をやってみます。
このプラグインは、.pl に書かれているタイプのものですので、tb-link-lookup.pl ファイルを編集することにします。(Movable Type の推奨するYAML形のプラグインに直す手もあるのですが雛形とか用意できてないと、手間だったりするので、今回は直接修正する形をとります)
MT->register_junk_filter
はコメントにします。
# MT->register_junk_filter({ # name => $PluginName, # plugin => $plugin, # code => sub { $plugin->handler(.@_) }, #});
my $plugin =
という箇所に、registry(junk_filters)になおします。
registry => { junk_filters => { $PluginName => { label => $PluginName, code => \&handler, }, }, },
以上が追加するコードになるかと(インデントは適当なので、元のコードにあわせるほうが視覚的はいいです)。 プラグイン名は元のMT::register_junkfilter のほうが、プラグイン名($PluginNameにて登録ずみ)を使用しているので、そのまま利用します。
label には、このプラグイン名、 code にハンドラを指定。このプラグインだと、 handlerというサブルーチンがそれに該当。
このコードの追加場所ですが、プラグインを登録する、my $plugin の最後(});の前)に追加します。
以上で、ファイルを反映させ、プラグインリストを表示させると、警告が消えて、ジャンクフィルタとしてフィルタ名が表示されるはずです。