プライマリーカテゴリーが同じ記事の一覧を作成する

  • 投稿者:
  • カテゴリ:
このエントリーをはてなブックマークに追加

プライマリーカテゴリーが同じ記事の一覧を作成する。ただし、この一覧とは別にページ内にリンクが既出なら省く。

某所で見つけたので、ちょっとやってみた。

//条件
//プライマリーカテゴリー:MovableType Tips
//件数:10
//記事のリンクはページ内で重複させない

<ul>
<mt:SetVar name="counter" value="1">
//10件をカウントするためのカウンター

<mt:Entries include_blogs="3" lastn="0" unique="1">

  <mt:EntryPrimaryCategory><mt:CategoryLabel setvar="pcat"></mt:EntryPrimaryCategory>
//記事のプライマリーカテゴリーを「pcat」にセットする

  <mt:If name="counter" le="10">
//カウンターが10以内の場合に処理をする条件分岐

    <mt:If name="pcat" eq="MovableType Tips">
//プライマリーカテゴリーが「MovableType Tips」の場合に処理をする条件分岐
    <li class="menu_item">
        <p class="menu_category"><span><mt:Var name="pcat"></span></p>
        <p class="menu_txt"><mt:EntryTitle></p>
    </li>
    <mt:SetVar name="counter" op="+" value="1">
//処理が1件終わるごとにカウンターに1を足す
    </mt:If>
  </mt:If>

</mt:Entries>
</ul>

上記で出来たのですがMovableTypeタグリファレンス見てたら「MTIfCategory」というタグがあった。

「MTIfCategory」を使う場合は下記のような感じ。

//条件は上記と同じ
<ul>
<mt:SetVar name="counter" value="1">
//10件をカウントするためのカウンター

<mt:Entries include_blogs="3" lastn="0" unique="1">
<mt:If name="counter" le="10">
<mt:IfCategory name="MovableType Tips" type="primary">
//対象のカテゴリーを「MovableType Tips」にして、対象の範囲をプライマリーカテゴリーにする

    <li class="menu_item">
        <p class="menu_category"><span>MovableType Tips</span></p>
        <p class="menu_txt"><mt:EntryTitle></p>
    </li>
    <mt:SetVar name="counter" op="+" value="1">
//処理が1件終わるごとにカウンターに1を足す

</mt:IfCategory>
</mt:If>
</mt:Entries>
</ul>

MTタグ「MTIfCategory」があるので、こちらを使ったほうがスッキリでいいですね。

熟思ったのは、すべてのMTタグやグローバルモディファイア、環境変数などで自分が使っているのは10%以下なんじゃないかと...。いや、5%も行ってないかも。

上記のサンプルをそのまま使うと空行がわんさか出来るので、テンプレート上で改行を無くすか、下記ページの方法で空行を削除した方がいいですね。

かたつむりくんのWWW:Movable Type で出力するテンプレートから空行を削除したい

最後になってふと、下記はどうなのかなと思って試しましたが、こちらはダメでした。プライマリー、セカンダリー関係なく「MovableType Tips」が設定してあると書き出されるみたいです。

<mt:Entries include_blogs="3" lastn="0" unique="1" category="MovableType Tips" type="primary">
Do Something
</mt:Entries>

まぁ、「type="primary"」と書いても何のタイプだよっていう感じですよね。「category_type="primary"」とかならわかる気もしますが...。

このエントリーをはてなブックマークに追加

ブログを始めてからカウンター日が経ちました。

公開記事数は記事数件で、日/記事数日に1エントリーのペースで記事を書いていることになります。