« Hello World | ホーム | 神田神保町 九頭鳥 »

2007年10月 6日

tips:画像挿入時のタグを変更する方法 - Movable Type 4.0

[ブログ記事を作成] - [画像を挿入] を行うと、

<form mt:asset-id="14" class="mt-enclosure mt-enclosure-image"><img alt="test1.jpg" src="http://hoge.com/blog/imgs/200709/test1.jpg" width="400" height="300" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;"/></form>

などと冗長なタグが出力されるが、これをシンプルに、

<img alt="test1.jpg" src="http://hoge.com/blog/imgs/200709/test1.jpg" width="400" height="300" class="pict"/>

などと出力させる方法。

mt/lib/MT/Asset/Image.pm 内の as_html というファンクションで挿入するイメージタグを作成して、mt/lib/MT/Asset.pm 内の enclose というファンクションにイメージタグを渡すことで、<form mt:asset-id・・・>~</form> で囲って出力がされているので、 mt/lib/MT/Asset/Image.pm 内の as_html ファンクションの以下の行を変更する。

mt/lib/MT/Asset/Image.pm
変更前 return $asset->enclose($text);
変更後 return $text;

また、style="" を削除するために、以下のような変更を実施。

my $wrap_style = '';
if ( $param->{wrap_text} && $param->{align} ) {
       $wrap_style = 'class="mt-image-' . $param->{align} . '" ';
       if ( $param->{align} eq 'left' ) {
           $wrap_style .= q{style="float: left; margin: 0 20px 20px 0;"};
       }
       elsif ( $param->{align} eq 'right' ) {
           $wrap_style .= q{style="float: right; margin: 0 0 20px 20px;"};
       }
       elsif ( $param->{align} eq 'center' ) {
           #$wrap_style .= q{style="text-align: center; display: block; margin: 0 auto 20px;"};
           $wrap_style = 'class="pict"';
       }
}

このブログ記事について

このページは、maruが2007年10月 6日 09:52に書いたブログ記事です。

ひとつ前のブログ記事は「Hello World」です。

次のブログ記事は「神田神保町 九頭鳥」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。