Under the Bridge

a Picture of the Late Him

MT4.1:カテゴリリスト+エントリ全展開+エントリのAsset代表画像表示

2008年2月11日 17:56 | Writer: yoshi | 記事本文 | コメント(0) | トラックバック(0)

まず、ウィジェットセットよりパクってきたカテゴリリストを準備。そのカテゴリリストのエントリを全て展開し、エントリに画像がある場合は縦横比4:3、画像サイズにして80×60px固定サイズでリンク付き表示する。

このサイトは600エントリ超えちゃっててこういうことはすべきではない()が、小規模サイトでの商品紹介なんかで、かなり有効ではないか?と思っている。

例:こういうことをやります

ラーメン

おかず

のみもの

コード

<MTTopLevelCategories>
   <MTSubCatIsFirst>
   <ul>
   </MTSubCatIsFirst>
   <MTIfNonZero tag="MTCategoryCount">
      <li><a href="<MTCategoryArchiveLink>"<MTIfNonEmpty tag="MTCategoryDescription"> title="<MTCategoryDescription>"</MTIfNonEmpty>><MTCategoryLabel> (<MTCategoryCount>)</a></li>
      <MTSetVarBlock name="CurCat"><MTCategoryLabel></MTSetVarBlock>
      <li><ul>
      <MTEntries category="$CurCat">
         <MTEntryAssets>
            <MTAssetsFooter>
            <li><a href="<MTAssetURL>"><img src="<MTAssetURL>" width="80" height="60" alt="<MTAssetProperty property="description">" title="<MTAssetProperty property="label">" /></a></li>
            </MTAssetsFooter>
         </MTEntryAssets>
         <li><a href="<MTEntryLink>"><MTEntryTitle></a></li>
      </MTEntries>
      </ul></li>
   <MTElse>
      <li><MTCategoryLabel></li>
   </MTIfNonZero>
   <MTSubCatsRecurse>
   <MTSubCatIsLast>
   </ul>
   </MTSubCatIsLast>
</MTTopLevelCategories>

結果と考察

例によりチェックそれほどしてない。ウィジェットセットよりパクってきたカテゴリリストなんで、動作は問題ないだろう。エントリに複数画像がある場合はMTAssetsFooterを用いて代表画像のみピックする。よーく見ると...それほど難しいコードではない。

画像タグや画像説明など必要な情報を付加して、スタイルシートで見た目を整えればかなり使えそう。

貼ってみた

エントリには画像がついていない場合が多いが、それは仕方が無い。