イメージ回り込みプルダウン追加

| | トラックバック(1)

ファイルのアップデート時に、テキストの画像への回りこみ指定を出来るようにした。
プルダウンメニューで選べるので、直感的でCMSとして使う場合も非常に便利。
初心者にも優しいね。

*--- 2007.04.17 MT3.35-ja向けに改変 ---*

●tmpl/cms/upload_complete.tmpl


143行目(MT3.35-ja)
<p><label><input type="checkbox" name="constrain" value="1" checked="checked"> <MT_TRANS phrase="Constrain proportions"></p>

</blockquote>
</TMPL_IF>


の下に。

<h4>画像へのテキスト回り込み設定</h4> <p> <select name="ifloat" class="menu" > <option value="none" selected>回り込みなし</option> <option value="left" >画像が左、テキストが右</option> <option value="right">画像が右、テキストが左</option> </select> </p>
日本語を使う場合は、MT設置時に指定した文字コードでファイル保存すること。 文字コードが違うと、文字化けの原因になります。
すぐ下の
<TMPL_IF NAME=IS_IMAGE> <input type="button" onclick="doClick(this.form, 'popup=1&amp;width=<TMPL_VAR NAME=WIDTH>&amp;height=<TMPL_VAR NAME=HEIGHT>&amp;image_type=<TMPL_VAR NAME=IMAGE_TYPE>')" value="<MT_TRANS phrase="Popup Image">" /> <input type="button" onclick="doClick(this.form, 'include=1&width=<TMPL_VAR NAME=WIDTH>&height=<TMPL_VAR NAME=HEIGHT>&image_type=<TMPL_VAR NAME=IMAGE_TYPE>')" value="<MT_TRANS phrase="Embedded Image">" /> <TMPL_ELSE> <input type="button" onclick="doClick(this.form, 'link=1')" value="<MT_TRANS phrase="Link">" /> </TMPL_IF> </div>

<div> <TMPL_IF NAME=IS_IMAGE> <input type="button" onclick="doClick(this.form, 'imgfloat='+this.form.ifloat.value+'&popup=1&width=<TMPL_VAR NAME=WIDTH>&height=<TMPL_VAR NAME=HEIGHT>&image_type=<TMPL_VAR NAME=IMAGE_TYPE>')" value="<MT_TRANS phrase="Popup Image">" /> <input type="button" onclick="doClick(this.form, 'imgfloat='+this.form.ifloat.value+'&include=1&width=<TMPL_VAR NAME=WIDTH>&height=<TMPL_VAR NAME=HEIGHT>&image_type=<TMPL_VAR NAME=IMAGE_TYPE>')" value="<MT_TRANS phrase="Embedded Image">" /> <TMPL_ELSE> <input type="button" onclick="doClick(this.form, 'link=1')" value="<MT_TRANS phrase="Link">" /> </TMPL_IF> </div>
へ変更。




●lib/MT/App/CMS.pm
4752行目(MT3.35-ja)
『$q->param('popup')』にて検索するとよい。



if ($q->param('popup')) {
require MT::Template;
if (my $tmpl = MT::Template->load({ blog_id => $blog_id,
type => 'popup_image' })) {
(my $rel_path = $q->param('fname')) =~ s!\.[^.]*$!!;
if ($rel_path =~ m!\.\.|\0|\|!) {
return $app->error($app->translate(

これのすぐ上に

my $imgclass; if ($q->param('imgfloat') eq 'left') { $imgclass = " class=\"l\" "; }elsif ($q->param('imgfloat') eq 'right') { $imgclass = " class=\"r\" "; }else { $imgclass = ''; }

を追加。
ここで、$imgclassという変数に、クラス名「l」、「r」を代入している。
class名変えたいなら、ここのclass='l'、class='r'を変更すればよい。


4803行目付近(MT3.35-ja)
『my $link』で検索するとよい。

my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width" height="$thumb_height" alt="" />) : q{<MT_TRANS phrase="View image">}; return $app->translate_templatized(<<HTML); <a href="$url" onclick="window.open('$url','popup','width=$width,height=$height,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">$link</a> HTML } elsif ($q->param('include')) { if ($thumb) { return <<HTML; <a href="$url"><img alt="$fname" src="$thumb" width="$thumb_width" height="$thumb_height" /></a> HTML } else { return <<HTML; <img alt="$fname" src="$url" width="$width" height="$height" /> HTML }

ここの<img>タグ3個所にクラス名「 $imgclass 」を追記。

my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width" height="$thumb_height" alt="" $imgclass />) : q{<MT_TRANS phrase="View image">}; return $app->translate_templatized(<<HTML); <a href="$url" onclick="window.open('$url','popup','width=$width,height=$height,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">$link</a> HTML } elsif ($q->param('include')) { if ($thumb) { return <<HTML; <a href="$url"><img alt="$fname" src="$thumb" width="$thumb_width" height="$thumb_height" $imgclass /></a> HTML } else { return <<HTML; <img alt="$fname" src="$url" width="$width" height="$height" $imgclass /> HTML }

最後にスタイルシートに設定したclassを定義してあげる。

img.r { float:right; margin:0 0 15px 15px; vertical-align:top; }

img.l {
float:left;
margin:0 15px 15px 0;
vertical-align:top;
}

このように、イメージとテキストの間隔は、cssのmarginで設定してやるとよい。
文章が読みやすいように、各自好きな値にするとよいでしょう。

トラックバック(1)

このブログ記事を参照しているブログ一覧: イメージ回り込みプルダウン追加

このブログ記事に対するトラックバックURL: http://www.wasavi-design.com/cms/mt-tb.cgi/171

MTの脆弱性が指摘されていたので、MT3.33をインストールしました。なぜか上書... 続きを読む

このブログ記事について

このページは、が2005年10月16日 17:50に書いたブログ記事です。

次のブログ記事は「ブラウザをリサイズしたときの処理 - Stage.onResizeリスナーイベント」です。

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