MT5:複数ブログのアイテムを新着順に並べるサムネイルエントリリスト
お題
「複数のブログがある場合、投稿したエントリ中にアイテム(画像)が存在する場合はリスト化し、そのリスト中の画像には画像そのもののへのリンクではなく当該エントリへのリンクを貼る」
Movable Type 5 のベータ版で作りました。
どんな風に見える?
このブログのトップページ(http://www.apstars.com/blog/)の、サイドバー「photo」の写真リストのような感じになります。
複数ブログにまたがった場合でも新しいアイテムを順に取得できます。
コード
<!-- インクリメントカウンタの初期化 -->
<$mt:setvar name="counter" value="0"$>
<MTBlogs include_blogs="site">
<MTEntries lastn="0">
<MTEntryAssets type="image" lastn="1">
<!-- カウンタのインクリメント -->
<$mt:setvar name="counter" op="++"$>
<!-- エントリの更新日時をEntDate変数へセット -->
<MTSetVarBlock name="EntDate">
<$MTEntryDate format_name="iso8601"$>
</MTSetVarBlock>
<!-- エントリのパーマリンクをEntryLink変数(配列)へセット -->
<MTSetVarBlock name="EntryLink[$counter]">
<$MTEntryPermalink$>
</MTSetVarBlock>
<MTSetVarBlock name="ImageCode[$counter]"><img src="<$MTAssetThumbnailURL height="70" square="1"$>" alt="on <$MTEntryTitle$>" title="on <$MTEntryTitle$>" /></MTSetVarBlock>
</MTEntryAssets>
<!-- hash配列構築 -->
<MTSetHashVar name="Compare">
<!-- Keyのセット -->
<MTSetVarBlock name="$EntDate">
<!-- Valueのセット -->
<a href="<MTGetVar name="EntryLink[$counter]">"><MTGetVar name="ImageCode[$counter]"></a>
</MTSetVarBlock>
</MTSetHashVar>
</MTEntries>
</MTBlogs>
<!-- インクリメントカウンタBを初期化 -->
<MTSetvar name="CountB" value="0">
<!-- counterで制御。画像が一枚以上あるとき処理を行う。 -->
<MTIf name="counter" ge="1">
<!-- 新しい順に並べ替え、リスト生成 -->
<ul>
<MTLoop name="Compare" sort_by="key reverse">
<!-- Inc変数が上限に達しない場合のみ値の取得をする。アイテム数を変更するときはここの数値を変更する -->
<MTIf name="CountB" lt="2">
<!-- CountB変数をインクリメントして出力した画像数を記憶 -->
<MTSetvar name="CountB" op="++">
<!-- 出力 -->
<li>
<MTGetVar name="__value__"><br />
</li>
</MTIf>
</MTLoop>
</ul>
</MTIf>
留意点
- 実装するときは上記コードのコメントを削除し、SetvarBlockなどは一行に続け書きすることをお勧めします。(そのままでは生成されるhtmlソースにコメントが残るし、htmlソースに無駄なスペースが大量にできて見栄えが悪いです)
- 画像数を変更するには上記コードの47行目を変更してください。(例:画像を6枚 lt="2" → lt="6")(なお、画像が少ない場合はあるだけ出ます。エラーにはなりません。)
- imgのalt属性やtitle属性は適宜変更してください。現在はon & エントリタイトルとしています。
- 13行目 エントリ投稿日時を秒単位で比較するために
<$MTEntryDate format_name="iso8601"$>としました。
- カテゴリ:210Movable Type
トラックバック(0)
このブログ記事を参照しているブログ一覧: MT5:複数ブログのアイテムを新着順に並べるサムネイルエントリリスト
このブログ記事に対するトラックバックURL:
- Categories
- Entries
-
- MT5:複数ブログのアイテムを新着順に並べるサムネイルエントリリスト
- カテゴリごとの新着情報のようなもの
- テスト記事2
- テスト記事
- Movable Type4 Beta2 研究
- Movable Type4 Beta2 研究
- Movable Type4 Beta2 研究
- Movable Type4 Beta2 その後
- Movable Type4 Betaその後
- MT4使ってみた
- 回り込みをクリアするベスト方法
- 忘れてた...
- ワンカラムテンプレート完成...?
- カテゴリ位置とエントリ位置の同時強調表示
- Rico JavaScriptとbody onload関係のバッティング
- ワンカラム進捗
- ワンカラムテンプレートに挑戦中
- 3カラムテンプレート完成!
- 最近の興味ごと
- 3カラムテンプレートの試用
- 3カラムテンプレート開発経過
- 3カラム+rico角丸ブロック
- ちょこちょこヒットしてます
- 3カラムテンプレート
- 左二段サイドバー試作
- Ajaxで月送りカレンダー
- サイドバー内リストマークのズレ
- カスタマイズ(カテゴリ並び)
- 更にカスタマイズ
- ここ少しカスタマイズ
- モジュール化完了
- モジュール化途中...
- Movable Typeテンプレート
コメント(1)
初心者 (2010年7月 6日 17:13)
1P内に上記の記述を2回(ブログIDが異なるもの)設置することはできますか?
コメントする