给JS应用一个smart修饰符


Apply a smarty modifier to JS?

快速问题我有一些JS,想在JS中应用一个智能修饰符到变量

在smarty中,我有一个名为cash的修饰符,用于转换货币格式的值

$price = "1";

{$ |现金价格}

将输出1.00英镑

有没有人能告诉我如何将这个修饰语应用到下面的js:

var价格

我也想特别使用smarty,因为我有其他的修饰符,我想应用到js。(以防有人告诉我要创建一个javascript函数)

谢谢

恐怕你不能操作JavaScript变量来获得它们的值。Smarty只能对它的变量进行操作——这些变量要么来自PHP,要么是在Smarty中设置的。JavaScript变量不能设置为Smarty,所以你不能这样做。

但是如果你想将PHP/Smarty变量与修饰符分配给JavaScript,它应该是可能的:

PHP:

$price = '1';
$smarty->assign('price', $price);

Smarty修饰符:

function smarty_modifier_cash($value)
{
    return '£ '.number_format($value,2);
}
Smarty模板文件:
{$price|cash}

<script type="text/javascript">
{literal}
    var cash = {/literal}'{$price|cash}'{literal};
    alert (cash);
{/literal}
</script>

结果显示:

£ 1.00 
在你的站点上设置

,并使用

获取JavaScript警报
&pound; 1.00