久しぶりの更新になります。
複数のブログの同じ名前のカテゴリーを
ブログ記事テンプレートに反映するというお題があり、
対応内容を下記に残します。
通常だと
<mt:EntryCategories>
<mt:IfIsDescendant parent=”カテゴリー1など”>
<$mt:EntryCategory setvar=”hoge”$>
//(ここで現在投稿されているカテゴリーを取得)
<mt:Entries catgeory=”$hoge”>
//(catgeory=”$hoge”にて出力制限)
出力内容
</mt:Entries>
</mt:IfIsDescendant>
</mt:EntryCategories>
と、まぁこんな感じだと
■カテゴリー1
・サブカテゴリー1
・サブカテゴリー2
■カテゴリー2
・サブカテゴリー1
・サブカテゴリー2
【カテゴリー1】内の
指定したカテゴリーのみの一覧を取得できます。
もし■カテゴリー1→サブカテゴリー2に属する投稿記事なら
サブカテゴリー2のみのリストを出力することができます。
上記の内容だと
<mt:Entries include_blogs=”2,5″ catgeory=”$hoge”>
と複数のブログをインクルードするだけでOKじゃないかと思いますが、無理です。
<mt:Entries include_blogs=”2,5″ catgeory=”カテゴリー1”>
などとすると複数ブログも行けるので、、ん?なんでよ?と思いながら苦戦してました。
また、<mt:EntryCategories> に関してはブログのインクルードタグは適用されないので、こちらにインクルードタグをつけても動作しません。
困った。。。。。。。。。。。。
で作りました。
<mt:SetVarBlock name=”EntryCat” strip_linefeeds=”1″>
<mt:EntryCategories>
<mt:IfIsDescendant parent=”カテゴリー1”>
<mt:CategoryLabel>
</mt:IfIsDescendant>
</mt:EntryCategories>
</mt:SetVarBlock>
<mt:If name=”EntryCat”>
<mt:Entries catgeory=”$EntryCat”>
//(catgeory=”$EntryCat”にて出力制限)
出力内容
</mt:Entries>
</mt:If>
とすると解決できました。
要はSetVarBlockにてカテゴリー名を取得し適用させるだけ
<mt:Entries include_blogs=”2,5″ catgeory=”カテゴリー1”>
とロジックは同じですね
<mt:If name=”EntryCat”>
にて囲ってあげるとそのカテゴリー以外の場合は出力しないと分岐もできるので更に良いかと思います。
関連カテゴリーみたいな扱いもできるし、
ある条件でリストを表示させたい場合に活用できるでしょう。
結構こういう条件定義はレアですが参考までです。
関連記事を結びつけることができるプラグイン
りれいてっどかてごりー(relatedcategory)というプラグインもあるようですが、
今回の事例はすでにこのカテゴリーを関連記事として使っており、
かつシリーズものとして別に関連記事を出力したいという事例でした。
以上
PS.
結婚し、子供も生まれて更に
仕事に、
家庭に、
育児に
精進してまいります。
今後とも宜しくお願い致します。