お知らせ

Movable Type 5 Webサイト製作ガイドVolume 22010年4月19日

Movable Type 5 Webサイト製作ガイドVolume 2」を発売しました。
「Movable Type 5 Webサイト製作ガイドVolume 1」の続編で、変数等の応用的な機能や、ウェブサイトやテーマなどのMovable Type 5の新機能についてしっかり解説した書籍です。
Movable TypeでWeb製作をされている方などにお勧めです。
PDFによる販売で、当サイトでのみ購入できます(書店では購入できません)

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

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

| コメント(2) | トラックバック(3)

今日は、「エントリー内の画像をリストアップするプラグイン」を利用したサンプルとして、最近の画像を表組みにして表示するものを紹介します。

1.テンプレートの作成

まず、インデックステンプレートを1つ作成し、テンプレートの名前を「最近の画像」、出力先ファイル名を「recentimages.html」にします。
そして、メインページのテンプレートの内容をコピーして、上で作ったテンプレートに貼り付けます。

2.エントリー出力部分の削除

1.のテンプレートから、エントリーを出力する部分(<MTEntries>~</MTEntries>の部分)を削除します。

3.最近の画像を出力する部分を追加

2.で削除した部分の代わりに、以下のタグを挿入します。
挿入が終わったらテンプレートを保存し、再構築します。

<table class="image-list" cellspacing="0" cellpadding="0">
<MTEntryImages img_lastn="15" columns="3">
   <MTEntryImageRowHeader><tr></MTEntryImageRowHeader>
      <td>
      <MTEntryImageIfEmptyCell>
      &nbsp;
      <MTElse>
         <table>
            <tr>
               <td class="image-list-item"><a href="<$MTEntryImageSrc regex="s/(.*)-thumb\.(.*)/$1.$2/"$>" target="_blank"><img src="<$MTEntryImageSrc$>" width="<$MTEntryImageWidth cell_size="120,90"$>" height="<$MTEntryImageHeight cell_size="120,90"$>" alt="<$MTEntryImageAlt$>" /></a></td>
            </tr>
            <tr>
               <td class="image-list-caption"><MTEntryImageEntry><a href="<$MTEntryPermalink$>"><$MTEntryTitle$><br />(<$MTEntryDate$>)</a></MTEntryImageEntry></td>
            </tr>
         </table>
      </MTElse>
      </MTEntryImageIfEmptyCell>
      </td>
   <MTEntryImageRowFooter></tr></MTEntryImageRowFooter>
</MTEntryImages>
</table>

なお、上の例は以下のような出力になります。

  • 最近の画像を横3個×縦5個の計15個表示します。
  • 120×90ピクセルに収まるように、画像を縮小して表示します。
  • 画像をクリックすると、別ウィンドウが開いて、フルサイズで表示します。
  • 画像の下には、その画像を含むエントリーの情報が表示され、それをクリックするとそのエントリーのページに移動します。

表示する画像の数を変えたい場合は、「<MTEntryImages lastn="15">」の「15」を変えます。

なお、画像のURLが「http://・・・/○○○-thumb,jpg」のような形になっている場合、画像のリンク先は「http://・・・/○○○,jpg」のように「-thumb」を取ったものに置換するようにしています。
これにより、Movable Typeの「ファイルのアップロード」の機能を使って画像をアップロードし、サムネールも作成している場合、画像の一覧にはサムネールが表示され、それをクリックすると元の画像が表示されます。

4.スタイルシートの追加

スタイルシートのテンプレートに、以下を追加します。
そして、スタイルシートを再構築します。

table.image-list {
    width : 390px;
    margin-left : auto;
    margin-right : auto;
    margin-top : 0px;
    padding : 0px;
}
table.image-list tr td {
    width : 130px;
    vertical-align : top;
}
table.image-list tr td table {
    margin-bottom : 10px;
}
table.image-list tr td table tr td.image-list-item {
    height : 90px;
    text-align : center;
    vertical-align : middle;
    padding : 0px;
    margin : 0px;
}
table.image-list tr td table tr td.image-list-caption {
    text-align : left;
    vertical-align : top;
    padding : 0px;
    margin : 0px;
}

トラックバック(3)

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

先日、トップページに最新画像を表示するカスタマイズを行いましたが、それぞれのカテゴリのトップにも最新画像表示を行う事にしました... 続きを読む

以前とりあげたEntryImagesプラグインでエントリー内の画像を表組みで表示... 続きを読む

azure sky on a palette - con. cusmtization (2009年2月20日 14:58)

やっぱりphp化は失敗。 かわりにでははないけどギャラリーページを作ってみた。 ... 続きを読む

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

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

No.1 もんち : (無題)

連続コメント、失礼します。
このエントリーを基に作業をしていて気付いたのですが、「3.最近の画像を出力する部分を追加」の13行目の「td clss」は「td class」のタイプ漏れではないでしょうか。
スタイルシートに関してはど素人な自分なので間違っていたらすみません。

No.2  : (無題)

>もんちさん
こんにちは。
ミスをご指摘いただきありがとうございました。リストを修正しておきました。

コメントする