smartyの値の中の演算子の謎
たまにsmartyのテンプレートでちょっとだけ複雑な事やろうとした時とかに、毎回ハマってしまうお話し。
値に演算子(計算式)を入れると、計算されずに文字列で帰ってくることがある。
マニュアルにもらしい解説がないので毎回毎回悩まされるので、分かり易くまとめておく。
{assign var="no" value="`124+$item.no`"}
↑ダメな例
{assign var="no" value="`$item.no+124`"}
↑OKな例
そう、順番です。valueの値に演算子(変数と数値の)を挿入する時は、変数が先頭にこないといけないのです。
たったこれだけのことを毎回忘れてしまい、マニュアルを読みあさったりしてしまうのは、この挙動が僕には理解できない仕様だからなのかな。
他にも似たような謎の仕様に悩まされた事があるが、忘れた。思い出したら、また書こうと思う。