エントリーを複数カテゴリー条件で指定する際、変数として対応する場合の注意点 12.09.05  (更新: 

  • HOME  >  
  • 【Movable Type】  >  
  • エントリーを複数カテゴリー条件で指定する際、変数として対応する場合の注意点

AカテゴリとBカテゴリに所属するエントリーを表示させる場合、通常、カテゴリ条件として

<MTEntries include_blogs="2" categories="Aカテゴリー AND Bカテゴリー">

という表記でいいのですが、特定のカテゴリアーカイブ内などの場合、現在のカテゴリかつ(AND)特定のカテゴリに所属するエントリーを表示させるには変数にセットする必要があります。

今回、他の特定のカテゴリーを「イチオシ」とします。
(「ignore_archive_context="1"」を使用している詳細はこちらをご確認ください。

<MTSetVarBlock name="CurCate"><$mt:ArchiveTitle$></MTSetVarBlock>
<mt:Blogs include_blogs="2" ignore_archive_context="1">
<MTEntries include_blogs="2" categories="イチオシ AND <$mt:Var name="CurCate"$>">
<$mt:EntryTitle$>
</MTEntries>
</mt:Blogs>

ではダメです。

変数にセットする場合の表記はなぜか、

<MTEntries include_blogs="2" categories="<$mt:Var name="CurCate"$>">

ではなく

<MTEntries include_blogs="2" categories="$CurCate">

となります。

<$mt:ArchiveTitle$>などの予約変数でも同じです。

<MTEntries include_blogs="2" categories="$ArchiveTitle">

となると

<MTEntries include_blogs="2" categories="イチオシ AND $CurCate">

でしょうか。

<MTSetVarBlock name="CurCate"><$mt:ArchiveTitle$></MTSetVarBlock>
<mt:Blogs include_blogs="2" ignore_archive_context="1">
<MTEntries include_blogs="2" categories="イチオシ AND $CurCate">
<$mt:EntryTitle$>
</MTEntries>
</mt:Blogs>

これでもダメ。

結論としては<$mt:ArchiveTitle$>だけでなくカテゴリ条件全てを変数に入れる必要がります。

<MTSetVarBlock name="CurCate">イチオシ AND <$mt:ArchiveTitle$></MTSetVarBlock>
<mt:Blogs include_blogs="2" ignore_archive_context="1">
<MTEntries include_blogs="2" categories="$CurCate">
<$mt:EntryTitle$>
</MTEntries>
</mt:Blogs>

これで完成!

(※本ページはプロモーションが含まれています。)

  • 広告
  • 広告

関連記事

PageTop

CATEGORY