Favicon をコメント・トラックバックに表示する
Favicon 設置に続いて、コメント・トラックバック欄に Favicon を表示するカスタマイズです。多くのテンプレートユーザの方がカスタマイズ記事をエントリーされていますが、具体的な動作についても調べてみました。
現在動作確認のため、コメント・トラックバック欄に Favicon を表示させています。
参考・ご利用サイトはすでにたくさんあるようですが代表で、
- やむやむ:コメント・トラックバック欄にファビコンを表示
- (きっかけはcaramel*vanilla:Organic HTMLのコメント欄)
を紹介させて頂きます。ありがとうございました。
以下、カスタマイズ方法です。
1.プラグインのダウンロード
Favicon プラグインをリリース元である下記のサイトよりダウンロードします。
上記のページの本文中の「Installation」 と書かれたすぐ下にある favicon.zip のリンクをクリックして保存します。
ダウンロードした favicon.zip を解凍し、下記のような構成になっていることを確認してください。
- plugins/favicon.pl
- tmpl/cms/favicon.tmpl
- mt-favicon.cgi
2.パスの修正
mt-favicon.cgi を任意のエディタで開き、1行目の
#!/usr/local/perl/bin/perl -w
を下記のように修正します(これを行わないと6項の作業で500エラーになります)。
#!/usr/bin/perl -w
3.プラグインのアップロード
これは CGIPath(mt.cgi が置かれたディレクトリ)を基準としたディレクトリ構成になっていますので
それぞれのディレクトリ配下に favicon.pl / favicon.tmpl / mt-favicon.cgi をアップロードしてください。
mt-favicon.cgi はパーミッションを 755 / 700等に変更してください。
4.テンプレート修正
公式サイトに掲載されているタグを、個別アーカイブ/コメント・プレビュー/コメント・エラー
に表示されるようにします。
4.1 個別エントリーアーカイブに表示
コメント欄に Favicon を表示する場合、コメント投稿者欄(下記)に青色部分を追加します。下はデフォルトテンプレートへの追加例です。
<MTComments>
<div id="c<$MTCommentID$>">
<$MTCommentBody$>
</div>
<p class="posted">投稿者
<MTFaviconCommentIfAvailable>
<img src="<MTFaviconComment>" alt="Site icon" title="Site icon" class="favicon" />
</MTFaviconCommentIfAvailable>
<$MTCommentAuthorLink default_name="Anonymous" spam_protect="1"$> <MTCommentAuthorIdentity>
: <$MTCommentDate$></p>
</MTComments>
下は公開テンプレートへの追加例です。
<MTComments>
<a id="c<$MTCommentID$>" name="c<$MTCommentID$>"></a>
<div class="comments-body">
<$MTCommentBody$>
<div class="comments-post">
Posted by
<MTFaviconCommentIfAvailable>
<img src="<MTFaviconComment>" alt="Site icon" title="Site icon" class="favicon" />
</MTFaviconCommentIfAvailable>
<$MTCommentAuthorLink default_name="Anonymous" spam_protect="1"$> <MTCommentAuthorIdentity> at <$MTCommentDate$></div>
</div>
</MTComments>
コメント・プレビューに表示する場合もほぼ同じです。青色のタグを使えるのは MTComments タグで括られている部分のみです。
次に、トラックバック欄に Favicon を表示する場合、トラックバック表示欄(下記)に青色部分を追加します。下はデフォルトテンプレートへの追加例です。
<MTPings>
<p id="p<$MTPingID$>">
» <a href="<$MTPingURL$>"><$MTPingTitle$></a> from
<MTFaviconTrackbackIfAvailable>
<img src="<MTFaviconTrackback>" alt="Site icon" title="Site icon" class="favicon" />
</MTFaviconTrackbackIfAvailable>
<$MTPingBlogName$><br />
<$MTPingExcerpt$> <a href="<$MTPingURL$>">[続きを読む]</a>
</p>
<p class="posted">トラックバック時刻: <$MTPingDate$></p>
</MTPings>
下は公開テンプレートへの追加例です。
<MTPings>
<div class="comments-body">
<p id="p<$MTPingID$>">
» <a href="<$MTPingURL$>"><$MTPingTitle$></a> from
<MTFaviconTrackbackIfAvailable>
<img src="<MTFaviconTrackback>" alt="Site icon" title="Site icon" class="favicon" />
</MTFaviconTrackbackIfAvailable>
<$MTPingBlogName$><br />
<$MTPingExcerpt$> <a href="<$MTPingURL$>">[続きを読む]</a>
</p>
<div class="comments-post">Tracked on <$MTPingDate$>
</div>
</div><!-- comments-body -->
</MTPings>
青色のタグを使えるのは MTPings タグで括られている部分のみです。
5.スタイルシートの追加
スタイルシート(styles-site.css)に下記を追加します。これは Favicon の位置調整のためのものです。
.favicon {
vertical-align:middle;
}
6.プラグインの確認
Movable Type のメイン・メニューのプラグイン欄に表示されている "Favicon" をクリックすると管理画面に遷移します。プラグインを入れただけの状態では Favicon はひとつも登録されていません(左)。 |
5項(厳密には4項)までの設定の後、個別エントリーアーカイブを再構築し、再び同じ画面を開くと、Favicon のリストが表示されます(左)。コメント・トラックバックのあったサイトから favicon.ico が取得できれば Favicon と URL が表示されます。取得できなかった場合はURLのみが表示されます。「remove」をクリックして取得したキャッシュを削除することも可能です(削除後何故かエラーになりますがブラウザを更新すると正常に削除されているようです)。 なおエントリーへのコメントやトラックバックが大量にある場合、プラグインをいれた初回の再構築にはかなり時間がかかりますのでご注意ください。当サイトで試したところ、自宅サーバであるにもかかわらず500エラーになりました。 |
7.Favicon を早く取得するには
Favicon プラグインはコメント・トラックバック元のサイトを検索して favicon.ico を取得し、キャッシュに保存しています。取得する契機はプラグイン管理画面の更新ではなく、埋め込んだタグが動作した時、つまり再構築された時です。また再構築毎に取得するのではなく、一定の周期で取得するように制御されています。このため、相手サイトの Favicon 公開タイミングによってはすぐに自サイトに Favicon が反映されない場合があります。
Favicon を早く取得するには、プログラムに書かれた取得周期を一時的に変更します。以下変更方法です。
取得周期は favicon.pl の中に
my $page_cache = 60*60*24*7;
と書かれている行があり、60(秒)×60(分)×24(時間)×7(日)、つまり一週間周期で取得しています。繰り返しになりますが、この周期では Favicon プラグインを設定しても相手サイトの Favicon 設置タイミングによっては、最大7日間近く表示されないことになります。
ということで、favicon.pl の該当行を
my $page_cache = 10;
ぐらい(=10秒)に修正してアップロードし、個別エントリーアーカイブを再構築します。なお favicon.ico を取得する動作はかなり負荷がかかりますので、目当ての Favicon が表示されたら値を元に戻しましょう。
以上です。
- Favicon 設置
≫ Favicon プラグイン from TENERE
Movable Typeのカスタマイズでお世話になっているyujiroさんの小粋... [続きを読む]
≫ faviconをコメント・トラックバックに表示する。 from life goes on*
小粋空間: Favicon をコメント・トラックバックに表示する めったにコメ... [続きを読む]
≫ CO&TB に favicon を表示させる。 from Quiet*
最近コメントの投稿者名の前や、トラバのサイト名の前などに、そのサイトの favi... [続きを読む]
≫ 「Favicon画像」をコメント・トラックバックに表示する from Project MultiBurst
またもや、小粋空間さんのカスタマイズネタです。 【Favicon をコメント・ト... [続きを読む]
≫ コメント・トラックバックに Favicon 表示♪ from ++Blog-MELL++
最近では ファビコンを 表示させている サイトも増えましたねぇ うちでも このフ... [続きを読む]
≫ favicon の設置 from Atelier Shuhei Weblog
11月12日に、私のサイトの簡単な favicon(Favorite Icon... [続きを読む]
≫ 「Favicon Plugin」がバージョンアップしてました。。。知らなかった。 from Project MultiBurst
MovableTypeにて、コメントやトラックバックの欄に、その記入者やトラックバックもとのサイトのfaviconを表示するプラグイン、「Favicon ... [続きを読む]
≫ 進め!MovableType4 ファビコンを表示 from 笑むなAikoの『お玉杓子は飲み物です』
頂いたコメント、トラックバック、先方様のファビコンを自分のブログへ表示するカスタマイズ。
[続きを読む]
こちらのエントリーを参考にさせていただきました。
これだと、Sleipnirでもfaviconが見れるので、いいですよね^^
最近faviconを実家の猫に変えたんですが、yujiroさんのとかぶっちゃってました^^;
yujiroさん、こんにちは!
早々に取り上げて下さってありがとうございます!
で、相手サイトに表示されないのは、取得タイミング、という訳ですねー。
別のお友達のところでは、うちのfaviconが出たんですよ!
ですので、こちらの記事を読んでさらに!納得した感じです。気分がスッキリしました。
ありがとうございました!
ところで、私のもう一つのMTにも同じようにfaviconプラグインを導入したいですが、プラグイン一覧のところをクリックすると、エラーが出ちゃうんです。
Can't use an undefined value as a SCALAR reference at /virtual/kidoairaku/public_html/x/mt/mt-favicon.cgi line 68.
このエラーは、どうして出るのかご存じではないでしょうか・・・?
favicon自体の設置はできたんですが、このプラグインすらうまく動かない状態で途方に暮れています・・。
favicon.cgiのパールパス、属性などはちゃんとあわせてあります。
すみません。
faviconが表示されてないなーと思ったら、URLが間違ってました^^;
おはようございます。
拙い記事の内容を 掘り下げ わかりやすく解説してくださって
どうもありがとうございました。勉強になります。
設置だけしてエントリーも忘れてたのにウチへの言及もしていただいて恐縮しておりますー
Faviconを早く取得する方法は知りませんでした!!
yujiroさんのエントリーがきっかけでFavicon設置するところが増えそうですね♪
はじめまして。
いろいろ参考にさせていただいてようやく初ブログをオープンした初心者です。
こんな若輩者ですがBlog People のリストに載せていただいて感謝感激しております!!
ふむ・・・。Faviconですか。
とてもじゃないけど今はまだ余裕がないだす。
もう少し頑張ったら挑戦してみるのです。
もしよければ一度遊びに来てくださいませ。
>さっちんさん
こんばんは。
たしかにこれなら Sleipnir でもバッチリ見えますね。
あ、かぶっているのは私の方でしょうか。
すいません…。
>ミッチさん
こんばんは。
どういたしまして。
とりあえずそのうち表示されるということで。
エラーの件は残念ながら不明です。
お役に立てず申し訳ございません。
>さえらさん
こんばんは。
コメントありがとうございます。
こちらこそためになる情報、ありがとうございました!
>lomoさん
こんばんは。
変なところにリンクしてすいません。
(エントリー見当たりませんでしたので…)
情報収集の早さ、おそれいりました。
ビジュアル的なカスタマイズはあまりしないのですが、視覚的にどなたかがわかるので意外と便利ですね。
>裏ワザTVさん
こんばんは。
いえいえ、こちらこそリンクくださりありがとうございました。
それでは今後ともどうぞよろしくお願い致します。
こんばんは。
わかりやすい手順のおかげで、無事設置することが出来ました。有り難うございます。
ワタシのトコロはまだまだfaviconがずら?っと並ぶほどのコメントをいただけるようなサイトではないのですが(笑)、出来た!・・・とひとり喜んでおります。
faviconの認知・導入が加速するとイイデスネ?。
詳細な手順で問題なく設置することができました。
あまりコメントやトラックバック少ないんですけどね・・・
faviconもっと広まると視覚的に楽しくなりますね。
>toycozyさん
こんばんは。
ご利用&コメントありがとうございます。
バッチリ表示されているようでよかったです!
>eizoさん
こんばんは。
記事参照ありがとうございます。
favicon もなかなか捨てたものではないですね。(失言)
faviconプラグイン、参考になりました。
いつもすばらしいカスタマイズ情報ありがとうございます。
>showBOOさん
こんにちは。
favicon表示うまくできたようで良かったです。
ではでは!
TBさせてもらいましたが、2通いっているようですね。一つは、timeout でエラーになっていたのですが。すみませんお手数ですが、削除願います。
ところで、わたしもミッチさんと同じように次のようなエラーがでるのですが、どのあたりを探ればよいかご教示いただけませんか。
Not a SCALAR reference at ../../lib/Favicon.pm line 51.
ところで、>yujiroさんのところのコメントとかTBには、favicon は出ないのですか。
>n_shuheiさん
こんにちは。
ご質問の件ですが、こちらでは同様の事象が発生しませんでした。
ネットを検索したところ、下記の記事で同様の不具合があったようです。
MovableType備忘録:コメント・トラックバックされたサイトのファビコンを表示する
記事中に「Cache faviconsを初期化してから「Faviconを起動」を行ったらファビコン一覧が表示されるようになりました。」と書かれています(初期化とは「0」にすることと推察します)のでお試しください。
ファビコンについては短期間ながら以前は表示していました。現在は表示していません。当サイトでは、基本的にブログペット類・絵文字系の画像類は表示しないようにしています(カスタマイズは掲載していますが)。
それではよろしくお願い致します。
いつもお世話になっています。
やむやむ様ならび、こちらの記事を参考にカスタマイズさせていただきました。
バージョンが違っていましたので設置方法がフォルダごとアップロードになり
ましたが、上手く動作しております。
ご報告とお礼まで。有難うございました。
>Aikoさん
こんばんは。
ご利用&ご連絡ありがとうございました。
うまくできたようで良かったです。
ではでは!
yujiro様、こんにちは。
今、Faviconの設置に取り組んでいるのですが、自Blogでは設定できたのですが、コメント・トラックバックに設定できずに悩んでいます。
プラグインはシステムメニューの方に表示されているので、インストールは出来ているのだと思いますが、コメントとトラックバックのタグをどのページに入れたら良いかという初歩のところで躓いています。
こんな初歩的な質問で申し訳ありませんが、教えて頂けますか?
よろしくお願い致します。
>tsudukuさん
こんばんは。
とりあえずの回答ですが、コメント用のfaviconは「コメント」テンプレートモジュール、トラックバック用のfaviconは「トラックバック」テンプレートモジュールに設定してみてください。
それではよろしくお願い致します。
yujiro様、おはようございます。
コメント・トラックバック共にテンプレートモジュールに挿入したのですが、再構築をするとエラーコードは出ないものの、必ずエラーが出てきてしまう状態です。マニュアル通りやっているつもりなのですが、挿入するタグの前後のテキストが発見できずにいます。
どのようにしたらよいでしょうか?
教えていただけますか?
yujiro様、こんにちは。
上のコメントでは再構築が出来ないとコメントしましたが、Blog記事の編集とコメント・トラックバックの再構築を別々に行ったところ、再構築は出来ました。
けれども記事の中にある項目6の作業の意味が解りません。
他の方のコメントの中に初期化すると良いとあったので、初期化を行ってみましたが、うまくいっているのかどうかさっぱり解らない状態です。
申し訳ありませんが教えて頂けますか?