2014-04-22
mtForであれこれ
MTForで1ずつ減らす方法(from="12" to="1" の感じ) | かたつむりくんのWWW
http://www.tinybeans.net/blog/2014/04/23-054120.html
をみて、確かに1ずつ減ってるなーとおもいつつ、reverseがあるmt:loopだとできないのかしら?と言うことで試してみた
<mt:SetVar name="from" value="1">
<mt:SetVar name="to" value="12">
<mt:For var="x" from="$from" to="$to">
<mt:SetVarBlock name="hoge" function="push"><mt:Var name="x"></mt:SetVarBlock>
</mt:For>
<mt:loop name="hoge" glue=" / " sort_by="reverse">
<mt:Var name="__value__">月
</mt:loop>
こんな感じでかけばいけますね。
mt:For,mt:Loopはまだまだ使いこなせてる気がしないので、 @tinybeans を見習ってがんばりたいところです。
追記
そもそも、reverse なんか使わずにいけますね。
<mt:For var="x" from="$from" to="$to">
<mt:SetVarBlock name="fuga" function="unshift"><mt:Var name="x"></mt:SetVarBlock>
</mt:For>
<mt:loop name="fuga" glue=" / ">
<mt:Var name="__value__">月
</mt:loop>
追記2
汎用性低そうだけど、prependでもいけますね。
<mt:For var="x" from="$from" to="$to">
<mt:SetVarBlock name="hogehoge" prepend="1"><mt:Var name="x">月<mt:Unless name="__first__"> / </mt:Unless></mt:SetVarBlock>
</mt:For>
<mt:Var name="hogehoge">
参考
- MTSetVar | テンプレートタグリファレンス
http://www.movabletype.jp/documentation/appendices/tags/setvar.html