タグをアルファベット順に並び替える
タグをアルファベット順に並び替えてリスト化するコードサンプルです。タグは英語のものは大文字小文字を問わずアルファベット順とします。
コード1(MTTags sort_by="name")
MTTagsブロックタグにsort_by="name"モデファイアを指定すると、タグをアルファベット順に並び替えてリスト化することができます。
<ul>
<MTTags sort_by="name">
<li><MTTagCount>:<MTTagRank zero_pad="4">:<MTTagName></li>
</MTTags>
</ul>
このエントリにコード1を貼った動作サンプル
- 2:0006:.htaccess
- 2:0006:Advantage
- 1:0006:Apache
- 2:0006:Archive
- 23:0003:Asset
- 5:0005:Author
- 1:0006:Authority
- 1:0006:AutoSave
- 2:0006:BackUp
- 1:0006:body
- 2:0006:Bug
- 13:0004:Calc
- 21:0003:Category
- 2:0006:Check
- 1:0006:CMS
- 5:0005:Comment
- 1:0006:Company Site
- 22:0003:Config
- 1:0006:Contact
- 10:0004:CORESERVER
- 2:0006:count
- 3:0005:Create
- 1:0006:Creative Commons
- 10:0004:CSS
- 3:0005:Custom Field
- 2:0006:Date
- 2:0006:Default
- 1:0006:delete
- 1:0006:Designer
- 1:0006:DNS
- 2:0006:Domain
- 14:0004:Entry
- 2:0006:Environment
- 1:0006:Eval
- 12:0004:Example
- 2:0006:Export
- 1:0006:Feature
- 11:0004:Feed
- 1:0006:FFFTP
- 1:0006:File
- 6:0005:Folder
- 2:0006:For
- 4:0005:GetVar
- 1:0006:head
- 1:0006:html
- 5:0005:If
- 1:0006:Image
- 1:0006:Import
- 1:0006:Include
- 2:0006:index
- 12:0004:info
- 7:0004:Install
- 2:0006:key
- 1:0006:keyword
- 1:0006:License
- 2:0006:Local
- 4:0005:Loop
- 1:0006:Mail
- 1:0006:Management
- 1:0006:Manager
- 2:0006:Meta
- 10:0004:Modifier
- 2:0006:Module
- 1:0006:MTElse
- 1:0006:MTElseIf
- 5:0005:MTFor
- 2:0006:MTGetVar
- 10:0004:MTIf
- 1:0006:MTIgnore
- 3:0005:MTLoop
- 1:0006:MTSeHashVar
- 16:0004:MTSetVar
- 1:0006:MTSetVarBlock
- 1:0006:MTSetVars
- 1:0006:MTSetVarTemplate
- 1:0006:MTUnless
- 3:0005:MySQL
- 7:0004:Navigation
- 3:0005:Next
- 9:0004:op
- 8:0004:Page
- 1:0006:Perl
- 1:0006:php
- 2:0006:PhpMyAdmin
- 1:0006:Ping
- 3:0005:Plugin
- 1:0006:pop
- 3:0005:Previous
- 1:0006:Principle
- 1:0006:push
- 3:0005:ReBuild
- 3:0005:Role
- 121:0001:Sample
- 1:0006:SetUp
- 8:0004:SetVar
- 1:0006:shift
- 1:0006:Spam
- 8:0004:Tag
- 55:0002:Template
- 4:0005:TrackBack
- 8:0004:Trouble
- 1:0006:undef
- 1:0006:unshift
- 13:0004:UpGrade
- 1:0006:UpLoad
- 1:0006:Usability
- 16:0004:Variable
- 1:0006:Version
- 2:0006:WebPage
- 1:0006:Wizard
- 1:0006:Writer
- 8:0004:XAMPP
- 16:0004:XHTML
- 1:0006:XML
コード2(MTTags sort_by="name"を変数で実現)
変数・ハッシュを用いて、MTTags sort_by="name"と同等の動作を実現するときは、以下のようなコードでよいと思います。
「大文字と小文字を問わず並べ替える」という条件を満たさせるため、<MTTagName lower_case="1">の部分で一度タグ名を全て小文字に変換し、のちのMTLoopループのsort_byモデファイア用のキーとしています。
なお、大文字と小文字を分けたい場合は、単にlower_case="1"をとればOKです。ちなみに日本語タグが混在する場合は、英語タグの後ろへ並びます。
<MTSetVar name="TagData" value="">
<MTTags>
<MTSetvarBlock name="CurTagName"><MTTagName lower_case="1"></MTSetvarBlock>
<MTSetvarBlock name="CurTagLinkSet"><MTTagCount>:<MTTagRank zero_pad="4">:<MTTagName></MTSetvarBlock>
<MTSetHashVar name="TagData">
<MTSetVar name="$CurTagName" value="$CurTagLinkSet">
</MTSetHashVar>
</MTTags>
<ul>
<MTLoop name="TagData" sort_by="key">
<li><MTGetVar name="__value__"></li>
</MTLoop>
</ul>
このエントリにコード2を貼った動作サンプル
- 2:0006:.htaccess
- 2:0006:Advantage
- 1:0006:Apache
- 2:0006:Archive
- 23:0003:Asset
- 5:0005:Author
- 1:0006:Authority
- 1:0006:AutoSave
- 2:0006:BackUp
- 1:0006:body
- 2:0006:Bug
- 13:0004:Calc
- 21:0003:Category
- 2:0006:Check
- 1:0006:CMS
- 5:0005:Comment
- 1:0006:Company Site
- 22:0003:Config
- 1:0006:Contact
- 10:0004:CORESERVER
- 2:0006:count
- 3:0005:Create
- 1:0006:Creative Commons
- 10:0004:CSS
- 3:0005:Custom Field
- 2:0006:Date
- 2:0006:Default
- 1:0006:delete
- 1:0006:Designer
- 1:0006:DNS
- 2:0006:Domain
- 14:0004:Entry
- 2:0006:Environment
- 1:0006:Eval
- 12:0004:Example
- 2:0006:Export
- 1:0006:Feature
- 11:0004:Feed
- 1:0006:FFFTP
- 1:0006:File
- 6:0005:Folder
- 2:0006:For
- 4:0005:GetVar
- 1:0006:head
- 1:0006:html
- 5:0005:If
- 1:0006:Image
- 1:0006:Import
- 1:0006:Include
- 2:0006:index
- 12:0004:info
- 7:0004:Install
- 2:0006:key
- 1:0006:keyword
- 1:0006:License
- 2:0006:Local
- 4:0005:Loop
- 1:0006:Mail
- 1:0006:Management
- 1:0006:Manager
- 2:0006:Meta
- 10:0004:Modifier
- 2:0006:Module
- 1:0006:MTElse
- 1:0006:MTElseIf
- 5:0005:MTFor
- 2:0006:MTGetVar
- 10:0004:MTIf
- 1:0006:MTIgnore
- 3:0005:MTLoop
- 1:0006:MTSeHashVar
- 16:0004:MTSetVar
- 1:0006:MTSetVarBlock
- 1:0006:MTSetVars
- 1:0006:MTSetVarTemplate
- 1:0006:MTUnless
- 3:0005:MySQL
- 7:0004:Navigation
- 3:0005:Next
- 9:0004:op
- 8:0004:Page
- 1:0006:Perl
- 1:0006:php
- 2:0006:PhpMyAdmin
- 1:0006:Ping
- 3:0005:Plugin
- 1:0006:pop
- 3:0005:Previous
- 1:0006:Principle
- 1:0006:push
- 3:0005:ReBuild
- 3:0005:Role
- 121:0001:Sample
- 1:0006:SetUp
- 8:0004:SetVar
- 1:0006:shift
- 1:0006:Spam
- 8:0004:Tag
- 55:0002:Template
- 4:0005:TrackBack
- 8:0004:Trouble
- 1:0006:undef
- 1:0006:unshift
- 13:0004:UpGrade
- 1:0006:UpLoad
- 1:0006:Usability
- 16:0004:Variable
- 1:0006:Version
- 2:0006:WebPage
- 1:0006:Wizard
- 1:0006:Writer
- 8:0004:XAMPP
- 16:0004:XHTML
- 1:0006:XML
- ページ先頭へ
- 前のエントリ: タグランクN以上のタグのみをリスト化する
- 次のエントリ: よく使用されるタグをN件抜き出す
- カテゴリ:タグ関連サンプル