mtde.info

Movable Type Developers Express

現在のエントリと同じタグのついた他エントリのリストアップ(自エントリを強調表示)

2008年2月 9日 00:33 | Writer: apstar | 記事本文

現在のエントリと同じタグのついた他のエントリを100件まで列挙するコードサンプルです。リストへは、現在のエントリを強調表示して含めます。現在のエントリ・他のエントリに複数タグがつけられていても正常に動作します。

動作原理は「現在のエントリと同じタグのついた他エントリのリストアップ(自エントリは含まない)」と同じですが、このサンプルでは現在のエントリをstrongタグで強調表示しています。

注意点ですが、コード後半のMTIfの順序が、自エントリは含まない場合と異なります。

コード

<MTSetvar name="EntCnt" value="0">
<MTSetVarBlock name="CurEnt"><MTEntryTitle></MTSetVarBlock>
<MTSetVarBlock name="TagStrings"><MTEntryTags grue=","><MTTagName></MTEntryTags></MTSetVarBlock>

<ul>
<MTEntries tag="$EntTags">
   <MTSetVarBlock name="LopEnt"><MTEntryTitle></MTSetVarBlock>

   <MTSetVar name="Find" value="0">
   <MTEntryTags>
      <MTSetVarBlock name="tmpTagName"><MTTagName></MTSetVarBlock>
      <MTIf name="Find" eq="0">
         <MTIf name="TagStrings" like="$tmpTagName">
            <MTSetVar name="Find" value="1">
         </MTIf>
      </MTIf>
   </MTEntryTags>

   <MTIf name="Find" eq="1">
      <MTSetVar name="EntCnt" op="inc">
      <MTIf name="EntCnt" le="100">
         <MTIf name="LopEnt" ne="$CurEnt">
            <li><a href="<MTEntryPermalink>"><MTEntryTitle></a></li>
         <MTElse>
            <li><a href="<MTEntryPermalink>"><strong><MTEntryTitle></strong></a></li>
         </MTIf>
      </MTIf>
   </MTIf>
</MTEntries>
</ul>

このエントリにサンプルコードを貼った動作サンプル

エントリ関連サンプル

2008 mtde.info