エントリーの画像をサイドメニューに表示
Tag:[]
エントリーに携帯等で撮った画像を表示しているブログをよく見かけますが、エントリーの画像を検索してサイドバーに自動的に表示するカスタマイズをご紹介致します。具体的な動作は、エントリーの中に書かれている img 要素の src 属性を検索し、そこで指定された画像をサイドバーに表示します。Collect プラグインというものを利用しています。
以下、手順メモです。
1.プラグインのダウンロード
Collect Plugin for Movable Type の Collect より Plugin をクリックします(ソースが表示される場合は右クリックして「対象をファイルに保存」を選択)。
2.プラグインのアップロード
ダウンロードした Collect.pl を plugins ディレクトリ直下にアップロードします。
3.テンプレート修正
リスト1のタグを、画像を表示したいテンプレート(メインページ/カテゴリーアーカイブ/日付アーカイブ/個別エントリーアーカイブ等)のサイドバー部分に追加します。次のタグは最近の8エントリーより、各エントリー内にある一番最初のイメージを表示します。
<MTEntries lastn="8">
<MTCollect tags="img">
<MTCollectThis show="0">
<$MTEntryBody$>
</MTCollectThis>
<MTIfCollected tags="img">
<MTCollected tags="img" lastn="1">
<a href="<$MTEntryLink$>">
<img src="<$MTCollectedAttr attr="src"$>" style="margin:10px" />
</a><br />
</MTCollected>
</MTIfCollected>
</MTCollect>
</MTEntries>
リスト1:最近の8エントリーより各エントリー内にある一番最初のイメージを表示
リスト2のタグは、全エントリーから最新の5個のイメージを表示します。
<MTCollect tags="img">
<MTEntries lastn="5">
<MTCollectThis>
<$MTEntryBody$>
<$MTEntryMore$>
</MTCollectThis>
</MTEntries>
<MTIfCollected>
Recent Photos of all <$MTCollectedTotalCount$> photos<br />
<MTCollected tags="img" lastn="5">
<img width="100" src="<$MTCollectedAttr attr="src"$>" alt="<$MTCollectedAttr attr="alt"$>"<$MTCollectedContent$><br />
</MTCollected>
<MTElse>
No Photos
</MTElse>
</MTIfCollected>
</MTCollect>
リスト2:全エントリーから最新の5個のイメージを表示
以上です。なおこの機能については以下のサイトを参考にさせて頂きました(テンプレートもそこからの抜粋です)。
あとはカメラ付き携帯を買うだけ(爆)。
2005.08.08 追記
本文を全面修正しました。
2006.09.10 追記
マークアップ修正。
- MyBlogList にスクロールバーをつける(改)
- BlogPeople のリンクリストにスクロールバーをつける
- 個別エントリーアーカイブに同一カテゴリーのエントリーを表示
- BlogPeopleの「私を登録」での「サイト名」欄の改善
- トラックバック・ピープルのバナーをランダム表示する
- 用語集追加
- QRコード設定
こんばんわ
いつもお世話になっています。
ちょっと小粋空間様のテンプレをいじりすぎて重くなったのでテンプレ毎別のテンプレに差し替えました。
画像をサイドメニューに表示したく、こちらのエントリーを参考に行ってみたんですが、「No Photos 」と表示され何も画像が出ません。
「リスト2:全エントリーから最新の5個のイメージを表示」を実施したんですが、、、なにか問題があるんでしょうか?
何か注意しなければならない事等ありましたらご助言お願いします。
すいませんblogURL間違えました。
http://w5.abcoroti.com/~uniq/blog/
です。
>うにさん
こんばんは。
ご質問の件ですが、管理画面より
メイン・メニュー > システム・メニュー > プラグイン
と辿ったところに利用中のプラグイン一覧が表示されますが、その中に
Collect 1.2
の表示はありますでしょうか。また Collect のすぐ上にある Download のリンクからも同じプラグインを入手できますので、そちらでもお試しください。
なお、念のためこのエントリーのタグをそのまま利用してみましたが、画像は表示されています。
それではよろしくお願い致します。
yujiro様
返信ありがとうございます。
メイン・メニュー > システム・メニュー > プラグインに「Collect 1.2」は表示されています。
メイン・メニュー > Blog名 > プラグイン
には「Collect 1.2」の表示がないんですがこちらは関係ないんでしょうか?
Collect.pl を plugins ディレクトリ直下にアップロードしなおし、再構築を行いましたが変わりはないです。
サイドバーの各パーツをモジュール化してるんですがそれは特に関係ないんですね(index.phpに直接書いてみましたが状況は変わりませんでした。)
アップロードですが、今職場でFTPソフトを使えない為、テスト運用に設置しているMTのサイトパスを/public_htmlに変更してアップロードしました。
「上書きしますか」アナウンスが出たので間違いはないと思うんですが・・・
小粋空間様のこちらのエントリーを参考にする前にhttp://win.kororo.jp/weblog/2006/08/21/post_1325.phpに書いてある「Collect」ディレクトリごと、plugins フォルダにアップロード」を行い、collectディレクトリはそのままの状態なんですが、重複している為に競合?しているということは考えられるんでしょうか?
本日帰宅後、Collectディレクトリを削除して再更新してみます。
>うにさん
こんにちは。
プラグインのアップロード作業は問題ないようですね。
あと、思いつくのは他に利用しているプラグインを無効にしてみる位でしょうか。
何か分かりましたら改めてご連絡したいと思いますが今のところ原因は不明です。
それではよろしくお願い致します。