Movable Type 備忘録
コメント・トラックバックされたサイトのファビコンを表示する
- Prev Page: 最近のトラックバックをエントリごとに一覧する2
- Next Page: エントリを公開日時で投稿する
以前から気になっていた、magnet:..さんのところのコメント/トラックバック欄…リンク先のファビコンが表示されてたんですよ。
他のブログでもたまに見かけたりしますが、「かわいいなぁ♪、欲しいなぁ(●´∀`●)」という思いが積もって、思い切ってmagnet:..さんにファビコンの表示方法を聞いちゃいました!!
magnet:..さんとってもいい方で、快く!? 教えてくれましたので、さっそくコメント/トラックバック欄のリンク先のファビコンを表示するカスタマイズやってみました。
この場をかりて、改めて…ありがとうございます (m;_ _)mペコ
コメント投稿時のリンク先やトラックバック先のファビコンを表示させるには、Faviconプラグインを使用します。
通常、コメントが投稿されたり、トラックバックされたりすると、そのエントリの再構築が行われます。
そのときにこのプラグインは、投稿者のサイトのファビコンまたは、トラックバック先のファビコンを取得しに行くようです。
取得したファビコンは一定期間保存されて、次回からは保存されたファビコンを使うようなことするみたい。
プラグインの配布元の説明を読むと、たぶんこんなかんじだと思う…ちょっと自信ないけど (; ̄∇ ̄A
お世話になったサイトは、もちろんmagnet:..様です。
▼Faviconプラグインの入手はこちらから▼
http://gemal.dk/mt/favicon.html
Faviconプラグインのインストール
まず、上記URLからFaviconプラグインを入手します。
入手した圧縮ファイルを適当なフォルダに展開して、favicon.cgi をテキストエディタで開きます。
Perlのパスを以下のように変更します。
変更前
#!/usr/local/perl/bin/perl -w
変更後
#!/usr/bin/perl -w
ついでに、201行目の文法エラーを修正します。
変更前
favicon_debug("URL now <" . $favicon->{url} . "> and before <$url>") if $favicon->{url} != $url;
変更後
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を起動」を行ったらファビコン一覧が表示されるようになりました。
テンプレートの変更
個別エントリ・アーカイブ、コメント・プレビューのテンプレートを変更します。
トラックバック先のファビコンを表示する場合は以下のコードを、表示させたい場所に追加します。
<MTFaviconTrackbackIfAvailable><img src="<$MTFaviconTrackback$>" width="16" hight="16" alt="" title="<$MTPingTitle$>" class="favicon" /></MTFaviconTrackbackIfAvailable>
そして、コメント投稿者のサイトのファビコンを表示する場合は以下のコードになります。
<MTFaviconCommentIfAvailable><img src="<$MTFaviconComment$>" width="16" hight="16" alt="" title="" class="favicon" /></MTFaviconCommentIfAvailable>
各コードの青い字のクラスをスタイルシートでテンプレートに合わせて調整します。
img.favicon {
vertical-align: middle;
margin: 0px 0px 3px 0px;
}
修正したら保存して再構築します。
再構築したら、コメント( トラックバック )されたエントリページを表示してみてください。
ファビコンを設定しているサイトなら、チョコン…とファビコンが表示されます。
以上でコメント/トラックバック欄にファビコンを表示させることができました。
magnet:..さんに感謝です♪
Trackback Pings(0)
No trackbacks found.
Comments(0)
No comments found.


Post a Comment