установка переменной в smarty с условием - PullRequest
0 голосов
/ 02 декабря 2011

Мне действительно нравится документация smarty , но иногда трудно найти легкий материал ... так вот мой вопрос. Можно ли установить переменную в условии? Theres большой шаблон со многими знаками евро. теперь есть другой новый язык, но они не платят с евро. поэтому вместо того, чтобы согласовать условие для языка вокруг каждого знака евро. я хочу использовать переменную, которая устанавливается в начале моего шаблона один раз с условием языка, как:

{if $lang eq 'ch'}
{*need to set "CHF" as a smarty or php var*}
{else}
{*need to set "EURO" as a smarty or php var*}
{/if}

<div class="payment">{$price} {*CHF or EURO var*}</div>

Ответы [ 3 ]

5 голосов
/ 02 декабря 2011
{if $lang eq 'ch'}
    {assign var="currency" value="CHF"}
{else}
    {assign var="currency" value="EURO"}
{/if}

<div class="payment">{$price} {$currency}</div>
2 голосов
/ 02 декабря 2011

Почему бы не установить его вне шаблона, в коде, где вы назначаете цену для шаблона?

Я бы сказал, что это относится к этому. Шаблоны должны контролировать презентацию; все, что связано с логикой, принадлежит коду, управляющему ею.

0 голосов
/ 02 декабря 2011
{if $lang eq 'ch'}
    <div class="payment">{$price} CHF</div>
{else}
    <div class="payment">{$price} EURO</div>
{/if}

Нет необходимости в переменной?

...