世間はFIFA ワールドカップ@ブラジルで大盛り上がりですが、それに関連してなにかMovableTypeでtipsを書けないかなーと。
ということで、今回はサッカーの試合のスコア表をMTタグのみで作ってみることにします。
仕様としては、各チームの前後半のスコアを入力制にして、合計点数をMT側で計算して出力。
できるかぎり、入力項目を減らすことでヒューマンエラーを減らしたいですね。
用意するカスタムフィールドは以下の4つ。
ホーム/アウェイの前後半の得点になります。
次に、各カスタムフィールドの値を変数にセットします。
<$mt:ScoreHome1" setvar="sHome1"$> <$mt:ScoreHome2" setvar="sHome2"$> <$mt:ScoreAway1" setvar="sAway1"$> <$mt:ScoreAway2" setvar="sAway2"$>
ホームとアウェイでそれぞれ、前半と後半の得点を「op」モディファイアで加算して合計点を出します。
HOME:<$mt:var name="sHome1" value="$sHome2" op="+"$> AWAY:<$mt:var name="sAway1" value="$sAway2" op="+"$>
やり方としては、前半の得点の変数をベースとして、「value」に後半の得点をセットします。「value」に変数を使用するには頭に「$」をつけます。
このようにMTMLでも、ちょっとめんどくさいですが計算することができます(笑)
おまけとして、総得点の変数(totalHome/Away)同士を比較すると勝敗結果も自動で出せます。
HOME:<$mt:var name="sHome1" value="$sHome2" op="+" setvar="totalHome"$> AWAY:<$mt:var name="sAway1" value="$sAway2" op="+" setvar="totalAway"$> <mt:If name="totalHome" eq="$totalAway"> 引き分け <mt:ElseIf gt="$totalAway"> HOMEの勝利 <mt:Else> AWAYの勝利 </mt:Else> </mt:If>
もっと項目を増やせば、野球のスコアを表現することも可能ですね。
それでは、ステキなMTライフを。