Movable Type5でのプラグイン修正
昨日Movable Type5へ無事バージョンアップを果たしたのですが、やっぱりそのままの移行では使いルプラグインと使えないプラグインがある。
優先順位の高い物、直近で使用すると思われるプラグインをチェックしてみた。
・カテゴリソートプラグイン SortCarFld
正式にMT5に対応したバージョンが存在していたので問題なく対応できた。
・Google Maps 地図表示プラグイン Mapper
とりあえず動いているっぽいです。
・LightBox支援システム LightBox2MT。
当ブログでの画像拡大機能のLightBox(ColorBox)これは日々使うので重要なのですが・・・正常に動作しませんでした。
ある意味一番重要でもあるプラグインが動作しなかったので、修正を試みます。
まずは・・・この部分。
入力フィールドでかっ^^;;
こんなにでかいフィールドはいらないので小さくしましょう。
ソースの57~59行目です。
<__trans phrase="pixels">) [ <label for="lightboxgroup"><__trans_section component="LightBox"><__trans phrase="Use LightBoxGroup"></label> ] |
上記のような場所にclass指定をしてあげます。
<__trans phrase="pixels">) [ <label for="lightboxgroup"><__trans_section component="LightBox><__trans phrase="Use LightBoxGroup"></label> ] |
上記のように修正します。
すると
上記のように綺麗なサイズに修正されます。
次に、LightBoxで表示するにチェックをするにしても指定されたサイズで画像が出力されない問題にぶつかりました。
サムネイルはちゃんとサイズを指定するとそのサイズにリサイズされるにもかかわらず、こちらは画像すら出力されません。
ソースコードを見ると異常なところは見あたらないのですが・・・
よくよく見てみると、asset-idの書き出しはMT4では「<form mt:asset-id=”5″~」と表現されていたのが、MT5では廃止されていました。
ちょうどソースコードではこの部分77~80行目です。
if ( $app->param( 'lightbox_width' ) ) { my $asset_id = $1 if ( $upload_html =~ // ); if ( $asset_id ) { |
この部分は、asset-idをformから取得しようとしているのですが、ここでasset-idの取得が出来ずに79行の判定がTRUEにならずに処理が飛ばされていました。
asset-idは、$paramですでに渡ってきているようなので、下記のように修正しました。
if ( $app->param( 'lightbox_width' ) ) { my $asset_id = $app->param('id'); if ( $asset_id ) { |
asset-idをparamから取得するように変えます。
とりあえず、僕はこんな感じの修正で動作するようになりました。
問題ありそうならコメント下さいませ^^
関連のありそうなエントリ