エントリーに絵文字をつかう

Movable Type3.2-ja 覚え書き 備忘録?

◎エントリーで絵文字を使う

これである

 

bibourokuimage8.gif

前から使ってみたいな~と思っていて手を出せずに今まで来た

そんなわけで(どんなわけ?)今日はエントリーで絵文字を使うである

コメントにも使えるらしいが私は別のブログ風日記の方で絵文字を使いたい!っていうのがあったので

あっちはコメント欄がないから付けないことにした

そんなわけで(だからどんなわけだって 😡 )覚え書き

参考サイト様はこちらです。

21世紀のアフィリエイト通販生活様とやむやむ様です

まずは必要なものを揃える

MT-HACK様(海外サイトです、ビビらないように)ここから『mt-smiley.zip』というものをDL

次にいまいちつながりが悪いのですが・・・

MTMacroDL

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

しかし!このままでは絵文字を入れようとカーソルを任意の位置に持っていってもダメ!本文末尾についてしまうのです 😥

そこでまたまた登場 やむやむ

『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$&gt

;</MTMacroApply> に

<$MTCommentBody$> を <MTMacroApply><$MTCommentBody$></MTMacroApply> に

そして、追記は・・・ <$MTEntryMore$> を <MTMacroApply><$MTEntryMore$></MTMacroApply> に。

また、各テンプレートの一行目には <$MTInclude module="smiley macros"$> も 忘れずに・・・

これで、追記でも 絵文字が使えるし、コメントでも エントリ投稿時でも カーソルの位置に 絵文字が入るようになりました。

ということです

重ね重ね・・・引用すみません・・・自分で書くには難がありました 🙁

ホントにこれで良いのかな

忘れていることないかな

あったらこっそりと追記します^^;

何だか絵文字ずれてる

ブログ風日記の方はまだましなのに・・・何故? :roll:

人気blogランキングへ

 

続きを読む