お知らせ

これだけは知っておきたい Webアプリケーションの常識 2008年3月28日

これだけは知っておきたい Webアプリケーションの常識」が発売されました。
Webアプリケーションを作る上では、HTTPのプロトコルや、開発言語、データベースなど、さまざまな知識を組み合わせることが必要になります。
それらを全般的にまとめた一冊です。
Webアプリケーション開発にチャレンジしたい方や、実際に開発までしないまでも基礎知識として知っておきたい方にお勧めです。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

エントリー内の画像をリストアップするプラグイン(その6)

| コメント(10) | トラックバック(1)

昨日は「エントリー内の画像をリストアップするプラグイン」の利用例を紹介しましたが、さらにいくつかの利用例を紹介します。

最近の画像をエントリーごとにまとめて表示する

まず、最近の画像をエントリーごとにまとめて表示する方法です。
これは、前日のリストの部分を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)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/623.

あの夏の、絵日記の続きを書こう… - ブログのカスタマイズ6 (2007年8月27日 16:56)

カテゴリーのアーカイブを概要のテキストだけにして、そこから、同じカテゴリー内の画像一覧のページにリンクをつけました。H.Fujimoto さんの "エント... 続きを読む

コメント(スレッド9件,コメント10件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 みにゃこ : (無題)

はじめまして。
画像をリストアップするプラグインがすごく便利そうで是非使ってみたいと思っています。
使い方の質問ですが、たとえば

メインページでカテゴリーごとの画像1つずつ表示することってできるのでしょうか?

はじめてMovabletypeでブログを作ろうとしていますので
既に掲載されている情報で可能なのかもしれませんがよろしくお願いいたします

No.2  Author Profile Page: (無題)

>みにゃこさん
こんにちは。

各カテゴリーの画像を1つずつ取り出して縦に並べるなら、このプラグインだけでできます。
タグの組み方の例は以下のようになります。

<p>
<MTSubCategories>
<MTEntriesIfHaveImages>
<MTEntryImages img_lastn="1">
<img src="<$MTEntryImageSrc$>" /><br />
</MTEntryImages>
</MTEntriesIfHaveImages>
<MTSubCatsRecurse>
</MTSubCategories>
</p>

一方、表組みにして表示したい場合は、このプラグインだけではできません。
拙作の「VarHandler」というプラグインを組み合わせればできますが、その方法は後日紹介します。

No.3 みにゃこ : (無題)

早速の返信ありがとうございます。
表組みもしてみたいので、VarHandlerの紹介待ってます。

No.4 s.fujino Author Profile Page: (無題)

Fujimoto さん、お世話になってます。トラックバックをお送りした s.fujino です。
MT 3.35 で、カテゴリーごとに画像60個の取り出しができました。
別のテスト用のブログでは、全部取り出して、Perl 版ダイナミック・パブリッシングができました。ありがとうございます。
こうなると、次は、ページ分割をしたくなりますが、難しいでしょうか?

No.5  Author Profile Page: (無題)

>s.fujinoさん
こんにちは。

画像一覧のページ分割は、拙作のダイナミックパブリッシングでは対応していません。

ちなみに、静的にページ分割を行う「PagedArchives」というプラグインが知られていますが、それはエントリー部分しか分割できないようです。
そのプラグインが汎用的に作ってあれば、画像一覧のページ分割等にも使えるので、惜しいです。

No.6 s.fujino Author Profile Page: (無題)

Fujimoto さん、どうもありがとうございました!

このプラグインでいったん全部を静的に取り出したリストを編集しておいて、それと img_lastn のアトリビュートで最近のものを用意して、組み合わせてメニューを提示する工夫をしてみたいと思います。

それから、もうひとつですが、コメントから画像を抽出するのは無理でしょうか。
話題の展開によっては、自分のコメントで追加の画像を使ったり、訪問者の方から別に送っていただいた画像をコメントに組み込むことがありますので、コメント内の画像も対象になると嬉しいのですが。

No.7  Author Profile Page: (無題)

>s.fujinoさん
こんにちは。

コメントも対象にするとなると、画像を時系列に並べるのがかなり複雑になります。
エントリーからの画像の抽出だけでも処理が複雑なので、これ以上の機能拡張は難しいです。

No.8 s.fujino Author Profile Page: (無題)

ありがとうございました。
発想を変えて、このプラグインを活用したいと思います。それから、
以前「RelatedEntriesプラグインの改造」のコメントでお尋ねしましたが、
その後 3.35 にアップして快適に使っています m(__)m

No.9 わたわたさん : 教えてください。前日のリストとは?

はじめまして!こちらのプラグインを使ってフォトギャラリー
を作りたいと思っています。
前日のリストをタグで囲うと書いてありますが、前日のリストには
どんなタグを挿入したらよいのでしょうか?

No.10  Author Profile Page: >教えてください。前日のリストとは?

>わたわたさん
こんにちは。プラグインご利用ありがとうございます。

「前日のリスト」には、この記事の前の日の記事にあるタグを入れてください。

http://www.h-fj.com/blog/archives/2006/08/09-094230.php

コメントする