お知らせ

作って覚えるPHP+MySQLアプリケーション 2008年6月24日

作って覚えるPHP+MySQLアプリケーション」が発売されました。
PHP+MySQL+Smartyを使って、ブログ/ショッピングサイト/マッシュアップの3つのWebアプリケーションを作る方法を解説しています。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

エントリーとコメントで絵文字を使えるようにするプラグイン(MT4専用版・その3)

| コメント(7) | トラックバック(0)

「エントリーとコメントで絵文字を使えるようにするプラグイン」の第3回として、コメント入力欄で絵文字を使えるようにする方法の2つ目を解説します。

1.InsertIconプラグインのインストール

まず、一昨日のエントリーの手順に沿って、InsertIconプラグインをインストールし、絵文字を表示できる状態にしておきます。

2.ConvertIconMacroプラグインのインストール

次に、絵文字のコードをimgタグに変換するために、「ConvertIconMacro」というプラグインをインストールします。

ConvertIconMacro_1_10.zip

プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。

また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。

ダウンロードが終わったら、そのファイルを解凍します。
解凍すると「ConvertIconMacro」というフォルダができますが、その中の「ConvertIconMacro.pl」というファイルを書き換えます。

このファイルの先頭の方に、以下のような部分があります。

my @mt_icons = (
    ・
    ・
    ・
);

InsertIconプラグインのInsertIcon.jsから絵文字の情報の部分(「[」と「]」で囲んだ行が並んでいる部分)をコピーして、上記の「(」と「);」の間に、貼り付けます。

例えば、「pepper」というサイト様で配布されている「D-BALLOON01」という画像を使う場合だと以下のように書き換えます。

my @mt_icons = (
    [ "pp_00.gif", "・・・", 17, 17 ],
    [ "pp_01.gif", "ハート", 17, 17 ],
    [ "pp_02.gif", "汗", 17, 17 ],
    [ "pp_03.gif", "嫌な感じ", 17, 17 ],
    [ "pp_04.gif", "怒り", 17, 17 ],
    [ "pp_05.gif", "音符", 17, 17 ],
    [ "pp_06.gif", "?", 17, 17 ],
    [ "pp_07.gif", "!", 17, 17 ],
    [ "pp_08.gif", "汗2", 17, 17 ],
    [ "pp_09.gif", "ひらめき", 17, 17 ],
    [ "pp_10.gif", "ハートブレイク", 17, 17 ],
    [ "pp_11.gif", "ダブルハート", 17, 17 ],
    [ "pp_12.gif", "ドクロ", 17, 17 ]
);

書き換えが終わったら、ファイルを保存します。
なお、Movable Typeの文字コードをutf-8以外にしている場合は、その文字コードにしてファイルを保存します。

3.ConvertIconMacroプラグインのアップロード

次に、ConvertIconMacroプラグインをアップロードします。
「ConvertIconMacro」フォルダを、Movable Typeの「plugins」ディレクトリの中にアップロードします。

4.コメント入力フォームに絵文字入力機能を追加する

次に、コメント入力フォームに、絵文字を入力する機能を追加します。

コメント入力フォームがあるテンプレートを開き、その中でtextareaタグの箇所を探します。
そして、その終了タグ(</textarea>)の後に、以下を追加します。

<br />
<MTInsertIconListJS mode="macro">

たとえば、Movable Type 4の標準テンプレートの場合、コメント入力フォームは、「コメント入力フォーム」という名前のテンプレートモジュールにあります。
そのテンプレートで、textareaタグの付近に、以下の赤字の部分を追加します。

<div id="comments-open-text">
    <label for="comment-text">コメント <MTIfAllowCommentHTML>(スタイル用のHTMLタグを使うことができます)</MTIfAllowCommentHTML></label>
    <textarea id="comment-text" name="text" rows="15" cols="50">
    <MTIf name="comment_preview_template">
        <$MTCommentBody autolink="0" sanitize="0" convert_breaks="0" encode_html="1"$>
    </MTIf>
    </textarea><br />
<MTInsertIconListJS mode="macro">
</div>

5.コメント一覧部分の書き換え

次に、テンプレートの中でコメント一覧を表示する部分を探し、MTCommentBodyタグを<MTConvertIconMacro>と</MTConvertIconMacro>のタグで囲みます。

たとえば、Movable Type 4の標準テンプレートの場合、「コメント詳細」のテンプレートモジュールにMTCommentBodyタグがあります。
以下の赤字のように、MTConvertIconMacroタグを追加して書き換えます。

・
・
・
</div>
<div class="comment-content">  
<MTConvertIconMacro><$MTCommentBody$></MTConvertIconMacro>
</div>
<div class="comment-footer">
・
・
・

6.再構築する

ここまでが終わったら、ブログ記事アーカイブを再構築します。
これで、各記事のコメント入力欄で、絵文字(を表すコード)を入力できるようになります。

トラックバック(0)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/1005.

コメント(スレッド3件,コメント7件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 寺山 銀 Author Profile Page: ConvertIconMacroプラグインですが

ConvertIconMacroプラグインが
読み込みに失敗しましたとエラーが出てしまいます。
MT4.01aを使用していますが、バージョンが原因でしょうか?
InsertIconプラグインは機能しています。
また、このInsertIconプラグインですが、エントリーで使用する場合はインストールするだけで良いのでしょうか?使い方がわかりません嫌な感じ

No.3  Author Profile Page: Re:ConvertIconMacroプラグインですが

>寺山 銀さん
こんにちは。

そのエラーメッセージからすると、「2.ConvertIconMacroプラグインのインストール」のファイルの書き換えでどこか間違っていると思います。

また、InsertIconプラグインは、インストールするだけでは使えません。http://www.h-fj.com/blog/archives/2007/08/10-105920.php の記事にあるように、画像のファイルを用意したり、JavaScriptを書き換えたりすることが必要です。

No.2 寺山 銀 Author Profile Page: すみません

記述にミスがあり、その為でした。
申し訳ありません。コメント削除できるなら削除しておいて下さいm(__)m

No.5 mopa Author Profile Page: コメントでの絵文字利用②が使えません

試行錯誤しましたが、現在のところ、ConvertIconMacroが使えてないみたいです。

コメントでの利用の②ができてないのでとりあえず、①で設置しました。これも実はMTInsertIconListJSが使えないのです。

結局
MTInsertIconListJSタグとMTConvertIconMacroを使うと
エラーになります。プラグインは認識してます、テンプレートの修正も正常におわる、再構築を行い個別記事のページを開くと、たぶんマクロで表示されるべき部分がエラーで表示されてません。

ダイナミックパブリシングを使用してるのでそのせいかと疑ってます

No.6  Author Profile Page: Re: コメントでの絵文字利用②が使えません

>mopaさん
こんにちは。

申し訳ありませんが、ConvertIconMacroプラグインは、MT標準のダイナミック・パブリッシングには対応していません。

No.7 mopa Author Profile Page: 早々ありがとうございます。

早々返信ありがとうございます。

もう一点の<MTInsertIconListJS mode="tag">もエラーになるのは同じ理由ですか?

現在以下のスクリプトで稼働してます

<script type="text/javascript" src="http://www.okanos.com/mt-static/plugins/InsertIcon/js/InsertIcon.js"<>/script<
<script type="text/javascript">
//<![CDATA[
_fj_insert_icon_obj = new FJInsertIcon('http://www.okanos.com/mt-static/plugins/InsertIcon/images/');
_fj_insert_icon_obj.listIconsCommentForm('tag');
//]]>
</script>

No.8  Author Profile Page: Re:早々ありがとうございます。

>mopaさん
こんにちは。

MTInsertIconListJSタグもMT標準のダイナミック・パブリッシングには対応していません。

コメントする