使用条件在smarty中设置var


setting a var in smarty with a condition

我真的很喜欢漂亮的文档,但有时很难找到简单的东西。。。这就是我的问题。有可能在条件中设置var吗?有一个大模板,上面有很多欧元标志。现在有了另一种新语言,但他们没有用欧元支付。因此,我不想为每个欧元符号周围的语言设置一个条件。我想使用一个var,它在我的模板的开头设置一次,语言条件如下:

{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>
{if $lang eq 'ch'}
    {assign var="currency" value="CHF"}
{else}
    {assign var="currency" value="EURO"}
{/if}
<div class="payment">{$price} {$currency}</div>

捷径:

{assign currency ($lang eq 'ch') ? 'CHF' : 'EURO'}

为什么不在模板之外,在代码中设置它,将价格分配给模板?

我认为这就是它的归属。模板应该控制演示;任何与逻辑有关的东西都属于驱动它的代码。

{if $lang eq 'ch'}
    <div class="payment">{$price} CHF</div>
{else}
    <div class="payment">{$price} EURO</div>
{/if}

不需要变量吗?