[:ja]MovableType 6.2 で More Custom Field プラグインのエラーを出さない方法[:]

[:ja]

MovableType を 5.2 から 6.1.2 にバージョンアップしたところ、More Custom Fields プラグインでエラーが出るようになりました。具体的には、カスタムフィールドで規定値にチェックを入れると
「YAML::Tiny failed to classify line ‘1’ 」
とエラーが出る、というものです。More Custom Fields は最新版 v2.2.5 です。

MT6.1.2 でインストールされる extlib/YAML/Tiny.pm のバージョンでは相性が悪いようです。しかし、プラグインに同梱されている Tiny.pm に置き換えると MT側でエラーとなってしまいます。

あまりいい方法ではないのですが、プラグインのソースコードのうち、lib/MoreCustomFields/Plugin.pm の 172行目付近にある multi_use_single_line_text_group をコメントアウトすると動きました。(下記の部分をまるまるコメントアウトする。)

        multi_use_single_line_text_group => {
            label             => 'Multi-Use Single-Line Text Group',
            column_def        => 'vblob',
            order             => 102,
            no_default        => 1,
            options_delimiter => ',',
            options_field     => sub { MoreCustomFields::SingleLineTextGroup::_options_field(); },
            field_html        => sub { MoreCustomFields::SingleLineTextGroup::_multi_field_html(); },
            field_html_params => sub { MoreCustomFields::SingleLineTextGroup::_multi_field_html_params(@_); },
        },

本プラグインはカスタムフィールドの種類を増やすものですが、この ‘Multi-Use Single-Line Text Group’ を使っていないサイトであれば、とりあえずはエラーを回避でき、他のカスタムフィールドは正常に使えるようになりました。

[:]

pagetop