サッカーの試合のスコア表をMTタグのみで作ってみることにします。
仕様としては、各チームの前後半のスコアを数値入力制にして、合計点数をMT側で計算して出力。
できるかぎり、入力項目を減らすことでヒューマンエラーを減らしたいですね。
#カスタムフィールドを用意
用意するカスタムフィールドは以下の4つ。
ホーム/アウェイの前後半の得点になります。
- mt:ScoreHome1 (ホームチームの前半の得点)
- mt:ScoreHome2 (ホームチームの後半の得点)
- mt:ScoreAway1 (アウェーチームの前半の得点)
- mt:ScoreAway2 (アウェーチームの後半の得点)
#変数にセット
次に、各カスタムフィールドの値を変数にセットします。
<$mt:ScoreHome1" setvar="sHome1"$>
<$mt:ScoreHome2" setvar="sHome2"$>
<$mt:ScoreAway1" setvar="sAway1"$>
<$mt:ScoreAway2" setvar="sAway2"$>
#「op」モディファイアで四則演算
ホームとアウェイでそれぞれ、前半と後半の得点を**「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:elseif></mt:if>
もっと項目を増やせば、野球のスコアを表現することも可能ですね。
それでは、ステキなMTライフを。
note
valueに変数を使う場合、変数名に(_)アンダーバーや(-)ハイフンを使うとうまく値をセットできない
関連
- opモディファイア(タグリファレンス)
- mt:IFタグ(タグリファレンス)
- mt:SetVarタグ(タグリファレンス)