CSS Selector Generator | CSS のセレクタ一覧を一発で自動生成!

02

02月2010年

Amazon風の一覧ページを Movable Type で実装するときに覚えておきたいループ処理

ishida 20:45 PM

  • はてなブックマークに登録
  • livedoorクリップに登録
  • Yahoo!ブックマークに登録
  • deliciousに追加

イメージ

こんばんは、約2ヶ月ぶりの投稿になってしまいました ishida です。
tanaka・kimoto・社長に続き、iPhone ユーザーになってしまいました。

iPhoneネタを書きたいところですが、今回は Movable Type ネタで。

Amazon みたいな一覧ページ

カテゴリアーカイブはブログ記事詳細より、カスタマイズが発生する頻度が高いですよね。
最近の流行りで言うと、以下のような Amazon みたいな一覧ページ。

画像とタイトルと記事概要が入るようなパターンです。
タイトルと記事概要については、入力される文字数が決まっていないので各記事のブロックを float するだけではレイアウトが崩れてしまいます。
(※文字数を制限しちゃって、「…」にすればイイじゃんとは思ってもスルーしてください。)

float 解除ブロックを追加

3つごとに float を解除するためのブロックを追加します。

Movable Type で 実装するには、ループ処理内での分岐が必要になります。

Movabele Type テンプレートでの記述

<div class="unitEntry">
<mt:Entries>
<mt:If name="__counter__" op="%" value="3" eq="1">
<mt:If name="__counter__" ne="1">
</div><!-- /.unitEntry -->
<div class="unitEntry">
</mt:If>
</mt:If>
<$mt:Include module="ブログ記事の概要"$>
</mt:Entries>
</div><!-- /.unitEntry -->

__counter__変数とopモディファイア

<mt:If name="__counter__" op="%" value="3" eq="1">

__counter__変数では常にループの回数(記事数)を見て、3の倍数で
</div><!-- /.unitEntry -->
<div class="unitEntry">
を追加します。

<mt:If name="__counter__" ne="1">

また <mt:Entries>を 既に div.unitEntry で囲んでいるので最初の1回目では処理を対象外とします。

valueの値をカラム数に合わせて変更すれば、いろいろ対応できますので参考に。

バシャログスタッフによるWebサイト制作サービス

トラックバック

このエントリーのトラックバックURL
http://c-brains.jp/cgi-bin/mt/###/2132
###はmt-tb.cgiに変更してください。

コメントを投稿

ページの先頭へ

POPULAR TAGS
  • バシャログスタッフによるWebサイト制作サービス

ARCHIVE

特集

  • ステップアップ!CakePHP
  • 作って学ぶjQuery

RECENT COMMENTS

ty on Flashで動画を再生しよう!第 3 回 FLVプレーヤーをつくろう1/2。
お返事ありがとうございます。説明が足りなかったようで、もう少
minami on 【Fireworks】Fireworks の振る舞い 基本的なとこ
> nishiuraさん コメントありがとうございます。
minami on Flashで動画を再生しよう!第 3 回 FLVプレーヤーをつくろう1/2。
> tyさん コメントありがとうございます。 コンポーネント
ty on Flashで動画を再生しよう!第 3 回 FLVプレーヤーをつくろう1/2。
参考にさせていただきました。ありがとうございました。 とこ
Chakotay on 【Fireworks】Fireworks の振る舞い 基本的なとこ
現場では上級のデザイナーの人、レベルの高いセンスのあるデザイ