TopMovable Typeカスタマイズエントリー > Movable Type で画像挿入時の form 要素について
News
各種ブログテンプレート
2007年9月26日

エントリー本文

Movable Type で画像挿入時の form 要素について

Posted at September 26,2007 1:32 AM
Category:[エントリー]
Tag:[, , ]

Movable Type で画像挿入時の form 要素について、下記のエントリーを拝見して「なるほど!」と思いましたので、ご紹介させて頂きます。

WingMemo: サムネイルリストからブログ記事(エントリー)にリンクを張る (MT4用)

MT4のブログ記事作成で画像を挿入し、テキストエリアを「リッチテキスト」以外で参照すると(あるいは最初から「リッチテキスト」以外で編集すると)画像表示用の img 要素が form 要素で括られます。

<form class="mt-enclosure mt-enclosure-image" mt:asset-id="5"><img class="mt-image-left" style="FLOAT: left; MARGIN: 0px 20px 20px 0px" height="426" alt="tea.jpg" src="http://your-domain/images/hoge.jpg" width="640" /></form>

これは MTEntryAssets タグを有効にするための裏情報になるらしいです(詳細は元記事をご覧ください)。

関連で下記の記事もありました。

The blog of H.Fujimoto画像を挿入したときにformタグがつく理由

この処理が行われることで、ブログ記事で挿入した画像は、MTEntryAssets タグの対象となり、ファイルアップロード機能で、アップロードしただけの画像は(当たり前ですが)MTEntryAssets タグの対象にならないということです。

上記以外の情報として、ソースコードを眺めてみると、lib/MT/Util.pmasset_cleanup というサブルーチンがありました。

sub asset_cleanup {
    my ($str) = @_;
    $str =~ s/
        <(?:[Ff][Oo][Rr][Mm]|[Ss][Pp][Aa][Nn])
        ([^>]*?)
        \s
        mt:asset-id="\d+"
        ([^>]+?>)(.*?)
        <\/(?:[Ff][Oo][Rr][Mm]|[Ss][Pp][Aa][Nn])>
    /
    my $attr = $1 . $2;
    my $inner = $3;
    $attr =~ s!\s[Cc][Oo][Nn][Tt][Ee][Nn][Tt][Ee][Dd][Ii][Tt][Aa][Bb][Ll][Ee]=(['"][^'"]*?['"]|[Ff][Aa][Ll][Ss][Ee])!!;
    '<span' . $attr . $inner . '<\/span>'
    /gsex;
    return $str;
}

このサブルーチンは、lib/MT/Template/ContextHandlers.pm 内で、MTEntryBody タグあるいは MTEntryMore タグの処理の最後で、mt:asset-id="AssetID" の文字列がある場合に起動されます。

sub _hdlr_entry_body {
     :
   (中略)
     :
    # Strip the mt:asset-id attribute from any span tags...
    if ($text =~ m/\smt:asset-id="\d+"/) {
        $text = asset_cleanup($text);
    }
    return $text;
}

ということで、勉強になりました。ありがとうございました。
何故 form タグ?というのが知りたいところです。

Posted by yujiro ReTweet This!
関連記事
この記事を読んだ人はこんな記事も読んでいます
人気エントリー
Hatena Hot Entries
Hatena Entries
トラックバックURL


コメント

こんにちは。
記事紹介して下さってありがとうございました。

このformタグ、意味が分からずに削除してしまう人も多いような気がしたので(自分もやってたし)、MTEntryAssets タグのために必要なんだということが少しでも多くの人に伝われば嬉しいです。

[1] Posted by TAEKO : September 27, 2007 1:39 PM

>TAEKOさん
こんにちは。
コメントありがとうございます。
仰る通り、一人でも多くの方に伝わることを期待しています。

私もTAEKOさんの記事を拝見するまで???でした(笑)。

[2] Posted by yujiro : September 28, 2007 2:57 PM
コメントする
greeting

*必須



ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字 イタリック アンダーライン ハイパーリンク 引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)

Now loading...
Introduction
Entries of this Category
Recent Entries
Recent Comments
Recent Trackbacks
QRcode

現在停止中です
携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

URI for cellular phones
ギターに入った猫
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

loading ...
Categories
Monthly Archives
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
Powered by
Movable Type 4.261