2013-05-13 64 views
0

這是我的代碼:最大智者數學值

<td class="bezcat bg{math equation="floor(x/8)+1" x=$dag.wp.0}">{$dag.wp.1}<br/><i>({$dag.wp.0})</i></td> 

我的代碼做什麼,是計算取決於數的值(x)和利用它(BG1,BG2,BG3,BG4或類名bg 5)。每個類名具有自己的背景色,低x(x<=8)將具有綠色背景色,大x(x>=40)將爲紅色。

我的計算效果很好,除了一點。我只在我的css中命名了5個類名(bg1到bg5),所以當計算出的值大於5時(比如說用x=100)我的類名將是bg12,並不會在我的css中描述。當我的計算值大於5時,執行該操作的最佳方式是什麼,我的類名仍然是bg5。與if語句的東西可能?

回答

1

事前:未經測試。

Smarty支持PHP min函數。所以,你可以這樣做:

{math equation="min(5, floor(x/8)+1)" x=$dag.wp.0} 

作爲一個說明從Smarty的文檔{math}

{}數學在性能上昂貴的功能,因爲它使用PHP的eval()函數。在PHP中進行數學計算要高效得多,因此只要有可能,在腳本中進行數學計算並將結果分配給模板。

+1

簡單有效,效果很好,謝謝! – Jovano 2013-05-13 13:24:16