- 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>
これで完成!
(※本ページはプロモーションが含まれています。)
- 広告
- 広告