お知らせ

WordPressで学ぶPHPとMySQL2009年9月23日

WordPressで学ぶPHPとMySQL」を発売しました。
「WordPressをカスタマイズしたいけど、PHPやMySQLが分からなくて躓いている」という方のための、PHPとMySQLの入門書です。
WordPressでWeb製作をされている方などにお勧めです。
PDFによる販売で、当サイトでのみ購入できます(書店では購入できません)

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

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

| コメント(16) | トラックバック(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 さんの "エント... 続きを読む

コメント(スレッド11件,コメント16件)

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

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

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

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

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

No.2  : (無題)

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

各カテゴリーの画像を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 : (無題)

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

No.5  : (無題)

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

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

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

No.6 s.fujino : (無題)

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

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

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

No.7  : (無題)

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

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

No.8 s.fujino : (無題)

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

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

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

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

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

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

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

No.11 NORIKO : MT4.2での使用について

はじめまして。EntryImagesプラグインの最新版を使わせていただいています。
現在、MT4.2の環境で、トップページにこのページ記載の
「最近の画像をカテゴリーごとにまとめて表示する」を導入しようとしているのですが、
MT4.2では<MTSubCategories>タグをトップページで使用することができないようで、
このタグで囲んだ部分は出力されません。(外すと表示されますのでタグのせいだと思います)
少し調べて、<MTTopLevelCategories>と置き換えればいいという記載を見つけたものの、
私の環境では同様にタグで囲まれた部分が出力されず、該当部分が真っ白になります。
<MTCategories>ですとおおむね意図したように表示されるものの、
一部カテゴリにおいて、親カテゴリと小カテゴリの両方が出力され、表示が重複してしまいます。
自分でもまた調べていきますが、対処法などありましたら教えていただければ幸いです。
よろしくお願いいたします。

No.12  : Re:MT4.2での使用について

>NORIKOさん
こんにちは。

こちらで試した限りでは、MTTopLevelCategoriesタグを使って、カテゴリ毎の画像一覧を出力できています。
そちらのテンプレートタグの組み方に、何か問題があるのではないかと思われます。

No.13 NORIKO : (無題)

壱様

ご返信ありがとうございます。
もう一度最初からやり直したところ、きちんと表示されました。
忠実にコピペしたつもりで、どこか抜けていたようです・・・お騒がせしました。
次はカテゴリ並べ替えプラグインを試させていただこうと思います。
ありがとうございました。

No.14 tetsu : カテゴリーごとに最近の画像のページを出力するについて

こんにちは。
ベンリなプラグインを使わせていただき有難うございます。

EntryImages 1.11を使わせていただいています。
カテゴリーごとにランダムに画像を出力したページを作成しようと思いまして、「カテゴリーごとに最近の画像のページを出力する」を参考に作成しましたが「MTEntryImages」ブロック内は何も出力されませんでした。
ランダムをやめてみてもだめでした。
ページ自体は出力されているのでアーカイブマッピングは間違ってはいないようです。

何か思い当たる事などはございますでしょうか。
MovableType Commercial version 4.25になります。

No.15  : Re: カテゴリーごとに最近の画像のページを出力するについて

>tetsuさん
こんにちは。

こちらでMT4.25で試してみましたが、問題なく出力できています。
こちらで作成したテンプレートの例をアップロードしておきますので、そのテンプレートを参考にしてみてください。

http://www.h-fj.com/mt_plugin/CategoryEntryImages.zip

No.16 tetsu : (無題)

壱様

ご返信ありがとうございます。
また、テンプレート有難うございました。
おかげで無事作成することが出来ました。

これからもがんばってください!

コメントする