7月 17 2010

[MT]あるタグがついたブログ記事, ウェブページの新着N本を出力する

Posted by きつねのボタン in MovableType, MTテンプレ習作

ハッシュを使う。ブログ記事とウェブページ両方あわせたなかから新着N本だけ出すところは、keyを記事生成日にし、keyでソートすればいい。

<mt:Ignore><!-- 初期設定(キーワードと最大記事数) --></mt:Ignore>
<mt:SetVar name="keyword_name" value="kw_ほげ">
<mt:SetVar name="max_cnt" value="3">

<mt:Ignore><!-- ウェブページとブログ記事から各$max_cnt点ずつ新着を取得し、ハッシュにつっこむ --></mt:Ignore>
<mt:Entries lastn="$max_cnt" exclude_blogs="13,14,15" tag="$keyword_name">
 <mt:EntryDate format="%Y%m%d%H%M" setvar="entry_date">
 <mt:SetVarBlock name="out_html{$entry_date}">
   <mt:EntryTitle>
 </mt:SetVarBlock>
</mt:Entries>

<mt:Pages lastn="$max_cnt" exclude_blogs="13,14,15" tag="$keyword_name">
 <mt:PageDate format="%Y%m%d%H%M" setvar="entry_date">
 <mt:SetVarBlock name="out_html{$entry_date}">
   <mt:PageTitle>
 </mt:SetVarBlock>
</mt:Pages>

<mt:Ignore><!-- keyで並べ替えてmax_cnt個を出力 --></mt:Ignore>
<mt:Loop name="out_html" sort_by="key reverse">
 <mt:If name="__counter__" le="$max_cnt">
 <$mt:Var name="out_html{$__key__}"$>
 </mt:If>
</mt:Loop>