Применить модификатор Smarty к JS?

Быстрый вопрос У меня есть немного JS и я хочу применить модификатор smarty к переменной в JS.

В Smarty у меня есть модификатор, называемый наличными, который преобразует значение в формате валюты

например.

$ price = "1";

{$ Цена | наличные}

выдаст £1,00

Пожалуйста, кто-нибудь может посоветовать, как я могу применить этот модификатор к JS ниже:

Вар цена

также я хотел бы специально использовать smarty, так как у меня есть другие модификаторы, которые я хотел бы применить к js. (просто если кто-то скажет мне создать функцию javascript)

Спасибо

1 ответ

Решение

Боюсь, вы не можете оперировать переменными 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
Другие вопросы по тегам