昨日は「エントリー内の画像をリストアップするプラグイン」の利用例を紹介しましたが、さらにいくつかの利用例を紹介します。
最近の画像をエントリーごとにまとめて表示する
まず、最近の画像をエントリーごとにまとめて表示する方法です。
これは、前日のリストの部分をMTEntriesHaveImagesタグで囲むことで行うことができます。
例えば、以下のようにすると、最近の画像を含むエントリーが5つリストアップされ、そのエントリーのタイトルと、エントリーに含まれる画像が表示されます。
<MTEntriesHaveImages lastn="5"> <p><$MTEntryTitle$></p> 前日のリスト </MTEntriesHaveImages>
最近の画像をカテゴリーごとにまとめて表示する
最近の画像をカテゴリーごとにまとめて表示することもできます。
それには、前日のリストをMTCategoriesタグやMTSubCategoriesタグで囲みます。
例えば、以下のようにすると、最近の画像がカテゴリーごとにまとめられ、各カテゴリーの先頭にはカテゴリー名が表示されます。
<MTSubCategories> <MTEntriesIfHaveImages> <p><MTParentCategories glue=":"><MTCategoryLabel></MTParentCategories></p> 前日のリスト </MTEntriesIfHaveImages> <MTSubCatsRecurse> </MTSubCategories>
カテゴリーごとに最近の画像のページを出力する
上の例では1つのページに全カテゴリーの最近の画像を出力しましたが、カテゴリーごとに別々のページを出力することもできます。手順は以下のようになります。
1.カテゴリーアーカイブテンプレートを開き、内容をコピーします。
2.アーカイブテンプレートを1つ作成します。
3.テンプレートの名前を「最近の画像(カテゴリー)」にし、1.でコピーしたテンプレートを貼り付けます。
43.のテンプレートからエントリー一覧を出力する部分を削除し、代わりに前日のリストを挿入します。
5.テンプレートを保存します。
6.Blogのメニューで「環境設定」の中の「設定」をクリックして設定のページを開き、「公開」のタブに切り替えます。
7.「アーカイブ・マッピング」の部分にある「マッピングを新規作成」のリンクをクリックします。
8.マッピングを作成する状態になりますので、「アーカイブの種類」で「カテゴリー」を選び、「テンプレート」で「最近の画像(カテゴリー)」を指定して、「追加」ボタンをクリックします。
9.「最近の画像」テンプレートの出力フォーマットの欄で「カスタマイズする」を選び、「%c/recentimages.html」と入力します。
10.「変更を保存」ボタンをクリックしてマッピングを保存し、カテゴリーアーカイブを再構築します。
ここまでで作業は終わりです。
.「http://カテゴリーアーカイブのディレクトリ/recentimages.html」にアクセスすると、個々のカテゴリーの画像一覧のページが表示されます。


コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。
はじめまして。
画像をリストアップするプラグインがすごく便利そうで是非使ってみたいと思っています。
使い方の質問ですが、たとえば
メインページでカテゴリーごとの画像1つずつ表示することってできるのでしょうか?
はじめてMovabletypeでブログを作ろうとしていますので
既に掲載されている情報で可能なのかもしれませんがよろしくお願いいたします
>みにゃこさん
こんにちは。
各カテゴリーの画像を1つずつ取り出して縦に並べるなら、このプラグインだけでできます。
タグの組み方の例は以下のようになります。
<p>
<MTSubCategories>
<MTEntriesIfHaveImages>
<MTEntryImages img_lastn="1">
<img src="<$MTEntryImageSrc$>" /><br />
</MTEntryImages>
</MTEntriesIfHaveImages>
<MTSubCatsRecurse>
</MTSubCategories>
</p>
一方、表組みにして表示したい場合は、このプラグインだけではできません。
拙作の「VarHandler」というプラグインを組み合わせればできますが、その方法は後日紹介します。
早速の返信ありがとうございます。
表組みもしてみたいので、VarHandlerの紹介待ってます。
Fujimoto さん、お世話になってます。トラックバックをお送りした s.fujino です。
MT 3.35 で、カテゴリーごとに画像60個の取り出しができました。
別のテスト用のブログでは、全部取り出して、Perl 版ダイナミック・パブリッシングができました。ありがとうございます。
こうなると、次は、ページ分割をしたくなりますが、難しいでしょうか?
>s.fujinoさん
こんにちは。
画像一覧のページ分割は、拙作のダイナミックパブリッシングでは対応していません。
ちなみに、静的にページ分割を行う「PagedArchives」というプラグインが知られていますが、それはエントリー部分しか分割できないようです。
そのプラグインが汎用的に作ってあれば、画像一覧のページ分割等にも使えるので、惜しいです。
Fujimoto さん、どうもありがとうございました!
このプラグインでいったん全部を静的に取り出したリストを編集しておいて、それと img_lastn のアトリビュートで最近のものを用意して、組み合わせてメニューを提示する工夫をしてみたいと思います。
それから、もうひとつですが、コメントから画像を抽出するのは無理でしょうか。
話題の展開によっては、自分のコメントで追加の画像を使ったり、訪問者の方から別に送っていただいた画像をコメントに組み込むことがありますので、コメント内の画像も対象になると嬉しいのですが。
>s.fujinoさん
こんにちは。
コメントも対象にするとなると、画像を時系列に並べるのがかなり複雑になります。
エントリーからの画像の抽出だけでも処理が複雑なので、これ以上の機能拡張は難しいです。
ありがとうございました。
発想を変えて、このプラグインを活用したいと思います。それから、
以前「RelatedEntriesプラグインの改造」のコメントでお尋ねしましたが、
その後 3.35 にアップして快適に使っています m(__)m
はじめまして!こちらのプラグインを使ってフォトギャラリー
を作りたいと思っています。
前日のリストをタグで囲うと書いてありますが、前日のリストには
どんなタグを挿入したらよいのでしょうか?
>わたわたさん
こんにちは。プラグインご利用ありがとうございます。
「前日のリスト」には、この記事の前の日の記事にあるタグを入れてください。
http://www.h-fj.com/blog/archives/2006/08/09-094230.php