mtde.info

Movable Type Developers Express

タグランクN以上のタグのみをリスト化する

2008年2月 9日 18:07 | Writer: apstar | 記事本文

タグランクN以上のタグのみをリスト化するコードサンプルです。タグランクは、数値が小さいほうがランクが高い(使用頻度が多い)です。

Nの部分は先頭付近にPickLank変数を宣言してあり、サンプルコードでは4としています。ハッシュのキー(CurTagWeightandID)生成時にタグのIDを付与しているのは、ランクの同じタグがあると一度生成したキーが上書きされてしまうためです。

「ランクN以上の」というMTIf分岐を行うため、CurTagWeightというタグのランクをデータに持つ変数も用いています。

コード

<MTSetVar name="PickLank" value="4">
<MTSetVar name="TagData" value="">
<MTTags>
   <MTSetvarBlock name="CurTagWeight"><MTTagRank></MTSetvarBlock>
   <MTSetvarBlock name="CurTagWeightandID"><MTTagRank zero_pad="4"><MTTagID></MTSetvarBlock>
   <MTSetvarBlock name="CurTagLinkSet"><MTTagCount>:<MTTagRank zero_pad="4">:<MTTagName></MTSetvarBlock>
   <MTIf name="CurTagWeight" le="$PickLank">
      <MTSetHashVar name="TagData">
         <MTSetVar name="$CurTagWeightandID" value="$CurTagLinkSet">
      </MTSetHashVar>
   </MTIf>
</MTTags>
<ul>
<MTLoop name="TagData" sort_by="key">
   <li><MTGetVar name="__value__"></li>
</MTLoop>
</ul>

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

  • 121:0001:Sample
  • 55:0002:Template
  • 21:0003:Category
  • 23:0003:Asset
  • 22:0003:Config
  • 12:0004:info
  • 8:0004:Trouble
  • 11:0004:Feed
  • 7:0004:Navigation
  • 8:0004:Tag
  • 16:0004:Variable
  • 16:0004:MTSetVar
  • 10:0004:MTIf
  • 8:0004:SetVar
  • 14:0004:Entry
  • 9:0004:op
  • 13:0004:Calc
  • 12:0004:Example
  • 8:0004:Page
  • 10:0004:Modifier
  • 16:0004:XHTML
  • 8:0004:XAMPP
  • 10:0004:CSS
  • 10:0004:CORESERVER
  • 7:0004:Install
  • 13:0004:UpGrade

タグ関連サンプル

2008 mtde.info