Movable Type 備忘録

 コメント・トラックバックされたサイトのファビコンを表示する

以前から気になっていた、magnet:..さんのところのコメント/トラックバック欄…リンク先のファビコンが表示されてたんですよ。

他のブログでもたまに見かけたりしますが、「かわいいなぁ♪、欲しいなぁ(●´∀`●)」という思いが積もって、思い切って magnet:.. さんにファビコンの表示方法を聞いちゃいました!!

magnet:.. さんとってもいい方で、快く!? 教えてくれましたので、さっそくコメント/トラックバック欄のリンク先のファビコンを表示するカスタマイズやってみました。
この場をかりて、改めて…ありがとうございます (m;_ _)mペコ

コメント投稿時のリンク先やトラックバック先のファビコンを表示させるには、Favicon プラグインを使用します。

通常、コメントが投稿されたり、トラックバックされたりすると、そのエントリの再構築が行われます。
そのときにこのプラグインは、投稿者のサイトのファビコンまたは、トラックバック先のファビコンを取得しに行くようです。

取得したファビコンは一定期間保存されて、次回からは保存されたファビコンを使うようなことするみたい。
プラグインの配布元の説明を読むと、たぶんこんなかんじだと思う…ちょっと自信ないけど (; ̄∇ ̄A

お世話になったサイトは、もちろんmagnet:..様です。

Faviconプラグインの入手はこちらから▼
http://gemal.dk/mt/favicon.html

Faviconプラグインのインストール

まず、上記URLからFaviconプラグインを入手します。
入手した圧縮ファイルを適当なフォルダに展開して、favicon.cgi をテキストエディタで開きます。

Perlのパスを以下のように変更します。

  1. 変更前
  2. #!/usr/local/perl/bin/perl -w
  3.  
  4. 変更後
  5. #!/usr/bin/perl -w

ついでに、favicon.pl の 201 行目の文法エラーを修正します。

  1. 変更前
  2. favicon_debug("URL now <" . $favicon->{url} . "> and before <$url>") if $favicon->{url} != $url;
  3.  
  4. 変更後
  5. favicon_debug("URL now <" . $favicon->{url} . "> and before <$url>") if $favicon->{url} ne $url;

変更したらファイルを保存して、サーバにアップロードします。
アップロード先は、Faviconフォルダを、まるごと mt/plugins/ディレクトリの中にアップロードしてください。

アップロードしたら、favicon.cgi のパーミッションを各自の環境に合わせて変更します。
わたしの場合は 755 としました。

ファビコン保存期間の設定

MovableType(ムーバブルタイプ)の管理画面上にある「システムメニュー」をクリックして、画面左にある「プラグイン」をクリックします。
そうするとプラグイン一覧が表示されるので、その中から Faviconプラグインを探して右横にある「設定を表示」をクリックしてください。

「Cache favicons: 604800 seconds」とありますが、デフォルトでは1週間保持されるようです。
デフォルトのままでもいいと思いますが、わたしは1ヶ月( 2592000 )に変更しました。

ファビコンをコロコロ変えるようなことはないだろう…ということから1ヶ月にしました。

変更しない場合は「取り消し」ボタンをクリックします。
変更した場合には、「変更を保存」をクリックしてください。

サイト全体を再構築

次にサイト全体を再構築します。
最初の1回はすべてのコメント投稿者のサイトのURL、トラックバック先のURLからファビコンを検索しに行くようなので、時間がかかるようです。

でも、そんな気になるような時間はかかってないような気がしました。
すいません。わたし、相方(ネコ)と遊んでたのではっきりとは分かりません (; ̄∇ ̄A

キャッシュされたファビコンの確認

先ほどのMovableType(ムーバブルタイプ)のプラグイン一覧画面から、Faviconプラグインの右横にある「Faviconを起動」をクリックしてみてください。

そうすると、キャッシュ(保存)されたファビコン一覧が表示されます。
もしエラーになった場合は、以下のことを確認してください。

  • favicon.cgiのパーミッションは正しいですか。
  • Faviconプラグインのインストール先を間違ってませんか。

今回わたしはアップロード先を間違えてしまったため、起動時にエラーが表示されました。
でも、ちゃんと正しくアップロードし直したらファビコン一覧が表示されました。

[2006.09.02] ついさっき気づいたのですが、プラグイン一覧から「Faviconを起動」を実行したら以下のようなエラーが出てしまいました。

Not a SCALAR reference at lib/Favicon.pm line 51.

で、いろいろいじくったところ、Cache favicons を初期化してから「Faviconを起動」を行ったらファビコン一覧が表示されるようになりました。

テンプレートの変更

個別エントリ・アーカイブ、コメント・プレビューのテンプレートを変更します。
トラックバック先のファビコンを表示する場合は以下のコードを、表示させたい場所に追加します。

  1. <MTFaviconTrackbackIfAvailable><img src="<$MTFaviconTrackback$>" width="16" hight="16" alt="" title="<$MTPingTitle$>" class="favicon" /></MTFaviconTrackbackIfAvailable>

そして、コメント投稿者のサイトのファビコンを表示する場合は以下のコードになります。

  1. <MTFaviconCommentIfAvailable><img src="<$MTFaviconComment$>" width="16" hight="16" alt="" title="" class="favicon" /></MTFaviconCommentIfAvailable>

各コードの青い字のクラスをスタイルシートでテンプレートに合わせて調整します。

  1. img.favicon {
  2.     vertical-align: middle;
  3.     margin: 0px 0px 3px 0px;
  4. }

修正したら保存して再構築します。
再構築したら、コメント( トラックバック )されたエントリページを表示してみてください。
ファビコンを設定しているサイトなら、チョコン…とファビコンが表示されます。

以上でコメント/トラックバック欄にファビコンを表示させることができました。
magnet:.. さんに感謝です♪

 Trackback Pings(1)

from オラオラ

さほどの気負いもなく、しかしアクセス数増加への野望を胸に、このサイトを続けてきましたが、つい先日10000アクセスを記録したようです。こんな大したことな...

 Comments(2)

#1: Posted by @Ran @ April 30, 2009 [REPLY]
user-pic

bzbell さん、随分前の記事にコメントで申し訳ありません。

この記事も参考にさせていただきました(^^)V。
殆ど普通のブログをされている方は「ファビコンって何?」状態なので、
表示される感動は分かち合えないと思いますが(^_^;)、トラバとかは、
スパムでもそのまま残しているブログ様とか良くあって、不用意に「クリック
したくない」という悪いイメージを持っています。

そうすると、良心的なブログ様も同等のレベルになりますから、
サイト運営者側が配慮して相手先のファビコンを表示するのは、観覧者に
とっても良いことですよね。

って神経質過ぎかな(^_^;)。

で時に私のトコは favicon 1.4 を入れたんですが、保存期間の指定が
6桁でしか入力出来なかったです。

bzbell さんは何処かを弄られているのでしょうか?。

あと、追記のエラーの件ですが、私もインストールした直後は出ましたが、
試しに別ブログからトラバしてファビコンが保存されてから、もう一度
実行したらちゃんと表示してくれました~。

#2: Posted by Author Profile Page bzbellから@Ranへの返信 @ May 1, 2009 [REPLY]
user-pic

>>1 @Ran さん

こんばんわ^^

> サイト運営者側が配慮して相手先のファビコンを表示するのは、観覧者に
> とっても良いことですよね。

そうですね。それに見た目にもいいですよねにこっ!

> …6桁でしか入力出来なかったです。

確かに 6 桁しか入力できませんね。
ウチは MT4.x を使ってますが、この記事は MT3.2 or MT3.3 の頃の記事なので、違いがでてるのかも。

> 試しに別ブログからトラバしてファビコンが保存されてから、もう一度
> 実行したらちゃんと表示してくれました~。

そうなんですかぁ。
何にしても回避できてよかったですねワクワク
今後ともどうぞよしなにぺこり

 Post a Comment

 

コメント用フィード