Movable Type3.2-ja 覚え書き 備忘録?
◎エントリーで絵文字を使う
これである
前から使っ てみたいな~と思っていて手を出せずに今まで来た
そんなわけで(どんなわけ?)今日はエントリーで絵文字を使うである
コメントにも使えるらしいが私は別のブログ風日記の方で絵文字を使いたい!っていうのがあったので
あっちはコメント欄がないから付けないことにした
そんなわけで(だからどんなわけだって :x )覚え書き
参考サイト様はこちらです。
21世紀のアフィリエイト通販生活様とやむやむ様とmayu*can様です
まずは必要なものを揃える
MT-HACK様(海外サイトです、ビビらないように)ここから『mt-smiley.zip』というものをDL
次にいまいちつながりが悪いのですが・・・
MTMacroをDL
mtmacros.zipを解凍してmtにあるそれぞれのディレクトリにアップする
bradchoateがないときは新たに作る
/plugins/macros.pl
/extlib/bradchoate/macros.pm
/extlib/bradchoate/postproc.pm
テンプレートモジュールを作る
テンプレート→モジュール→モジュールを新規作成
mtmacros.zipを解凍した中にあるもののコピペなのだ
テンプレート名 モジュールの内容
smiley javascript----→smiley-javascript.txt
smiley macros-------→smiley-macros.txt
smileys---------------→smileys.txt
しかし!このままでは絵文字を入れようとカーソルを任意の位置に持っていってもダメ!本文末尾についてしまうのです :cry:
そこでまたまた登場 やむやむ様
『Smileys の JavaScript を 以下のものに差し替え』
<script type="text/javascript" language="javascript"> <!--
// MT Smileys http://mt-hacks.com/mt-smileys.html
// Edited By Noel http://noe.lolipop.jp/
function emoticon (smiley) {
var txtarea = document.comments_form.text;
smiley = ' ' + smiley + ' ';
if(navigator.appName.indexOf("Microsoft")> -1){ // If IE
txtarea.focus();
if (!document.selection) return;
var range = document.selection.createRange();
range.text=smiley;
txtarea.focus();
// return false;
}else{ // If other browser
if (txtarea.createTextRange && txtarea.caretPos) {
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? smiley + ' ' : smiley;
txtarea.focus();
} else {
var length = txtarea.textLength;
var start = txtarea.selectionStart;
var end = txtarea.selectionEnd;
var txtarea1 = txtarea.value.substring(0, start);
var txtarea2 = txtarea.value.substr(end, length);
txtarea.value = txtarea1 + smiley + txtarea2;
txtarea.focus();
}
}
}
//-->
</script>
次にmt-smiley.zipを解凍した中にimagesフォルダがあるのでsmile画像をサーバーにアップ
ウチの場合 http://komineko.ciao.jp/komiblog/image/××.gif となっています
テンプレート・モジュールsmileys及びsmiley-macros にある画像のパスを修正
こんな感じです
<MTMacroDefinename="very_happy" string=":D" no_html="1">
<img src="http://komineko.ciao.jp/komiblog/image/icon_biggrin.gif" alt="Very Happy" width="15" height="15" border="0" />
</MTMacroDefine>
これが結構しんどかったですというか面倒かも :-(
それからMTのtmpl/cms/edit_entry.tmpl に smiley javascript と smileys の内容を コピペ
私は内容(body)と追記(extend)のテキストエリアの間に入れました
smiley javascript の document.comments_form.text; を
document.entry_form.text; に修正
Smileys の JavaScript は上のものを使います
デフォルトでついているものはつかわないように
私は一列に並ぶように<br />を取りました
次に絵文字を表示したいテンプレートに下記を追記
テンプレートの先頭(一行目)に <$MTInclude module="smiley macros"$>
head内に <$MTInclude module="smiley javascript"$>
絵文字一覧を表示させたいところに <$MTInclude module="smileys"$>
私の場合はコメントでは使わないので最後の
<$MTInclude module="smileys"$>はテンプレートには使っていません
あとは<$MTEntryBody$> を <MTMacroApply><$MTEntryBody$></MTMacroApply> に
<$MTCommentBody$> を <MTMacroApply><$MTCommentBody$></MTMacroApply> に修正
保存再構築(表示したいテンプレート全てに同じことをします)
でも・・・これだけだと追記では絵文字が使えません
そんなわけで・・・いいのか・・・やむやむ様よりコピペ・・・すみません
また、上記スクリプトは コメント欄の絵文字用で、これを エントリの本文や追記で使うには、 tmpl/cms/edit_entry.tmpl に 上記JavaScript と smileys の内容をコピペするわけですが
本文に使うためには、↑ 赤い字のところを entry_form.text に 修正する必要があります。
同様に 追記で使うためには entry_form.text_more とし、さらに 以下の2点を修正します。 ↑ 青い字のところに function emoticon1 (smiley) { のように 1 を追加する。
smileys の画像パス (http から始まる 絶対パスで指定) のところも a href="javascript:emoticon1 とする。
これで、上書き保存して、tmpl/cms/edit_entry.tmpl を アップします。
絵文字を使いたい(表示させたい) テンプレート(MainIndex ・ 個別エントリアーカイブ等) に 以下の修正を かけます。
<$MTEntryBody$> を <MTMacroApply><$MTEntryBody$></MTMacroApply> に
<$MTCommentBody$> を <MTMacroApply><$MTCommentBody$></MTMacroApply> に
そして、追記は・・・ <$MTEntryMore$> を <MTMacroApply><$MTEntryMore$></MTMacroApply> に。
また、各テンプレートの一行目には <$MTInclude module="smiley macros"$> も 忘れずに・・・
これで、追記でも 絵文字が使えるし、コメントでも エントリ投稿時でも カーソルの位置に 絵文字が入るようになりました。
ということです
重ね重ね・・・引用すみません・・・自分で書くには難がありました :-(
ホントにこれで良いのかな
忘れていることないかな
あったらこっそりと追記します^^;
何だか絵文字ずれてる
ブログ風日記の方はまだましなのに・・・何故? :roll:
人気blogランキングへ
コメント