我想在产品页面上显示文字,当价格高于300时。我使用以下代码:
{if $product.integerprice >= 300} Free shipping {/if}
$ product.integerprice是价格。
它可以工作,但最多只能达到1.000(1000,但价格是用数千点生成的)。在1.000之后,它停止显示文本。
我没有幸运解决问题,希望有人可以指导我。
答案 0 :(得分:1)
如果点是问题,那么就摆脱它:
{if str_replace('.', '', $product.integerprice) >= 1000} Free shipping {/if}
那为什么300会起作用呢?在您的情况下,您将字符串与数字进行比较。在这种情况下,PHP会自动将您的字符串转换为数字。所以你有:
'300' >= 300 //true
,字符串转换为300
'1.000' >= 1000 //false
,字符串转换为1,因为PHP认为它是浮点数。
由于问题更新 - 我的聪明才智。但我想你可以用replace做同样的事情(删除点)。