久々にMTネタです。内容はタイトルの通りです。
たまたま表示の必要があって調べたところ、MTにおいては
「検索結果 全7ページ中 5ページ目を表示」
と表示する機能はデフォルトで備わっておりますが、
「検索結果 全95件中 21-40件目を表示」
という、いかにも需要がありそうな表示を実現するタグ類は有りませんでした。
同じように悩む人もいらっしゃると思ったので、サンプルコードを記述します。
<mt:Ignore>○件中 ○-○件 表示のための変数取得 </mt:Ignore>
<mt:SetVarBlock name="current"><mt:CurrentPage /></mt:SetVarBlock>
<mt:SetVarBlock name="maxresult"><mt:SearchMaxResults /></mt:SetVarBlock>
<mt:SetVarBlock name="last_page_num"><mt:GetVar name="current" value="$maxresult" op="*"></mt:SetVarBlock>
<mt:SetVarBlock name="SearchResultCount"><mt:SearchResultCount /></mt:SetVarBlock>
<mt:SetVarBlock name="first_page_num"><mt:CurrentPage /></mt:SetVarBlock>
<mt:SetVar name="first_page_num" value="1" op="-">
<mt:SetVar name="first_page_num" value="$maxresult" op="*">
<mt:SetVar name="first_page_num" value="1" op="+">
<mt:Ignore>変数取得 ここまで</mt:Ignore>
<mt:SearchResultCount />件
<mt:Unless name="SearchResultCount" eq="0">中</mt:Unless>
<mt:Unless name="SearchResultCount" eq="0">
<mt:Var name="first_page_num" />―
<mt:If name="last_page_num" ge="$SearchResultCount">
<mt:SearchResultCount />
<mt:else>
<mt:var name="last_page_num">
</mt:If>件
</mt:Unless>
上記のソースを、検索結果のテンプレートに貼りつければ、表示されます。
こんな感じになります。



