Smarty - PHP if / else

时间:2014-02-10 11:43:17

标签: php smarty

您好我使用smarty并试图让if / else在tpl中工作,显示{$ Code}

Php文件

$this->_Smarty->assign("License_Key", TRUE);

$Value = '
License Key : 
{if $License_Key}
Valid
{else}
Not Valid
{/if}';

$this->_Smarty->assign("Code", $Value);

在Tpl文件中:

{$Code}

OutPut是

License Key : 
{if $License_Key}
Valid
{else}
Not Valid
{/if}

OutPut应该是:

License Key : Valid

2 个答案:

答案 0 :(得分:1)

您必须将$Value的内容放入.tpl文件中,而不是放入PHP中。因此 .tpl 的内容将是:

License Key : 
{if $License_Key}
   Valid
{else}
   Not Valid
{/if}

PHP 中,仅指定$License_Key

$this->_Smarty->assign("License_Key", TRUE);

编辑:但是如果你需要完全按照你的方式编写它,可以使用{eval},试试这样:

{eval var=$Code}

但我仍然建议你在Smarty模板中使用Smarty标签,而不是在PHP文件中使用。

答案 1 :(得分:0)

我认为这就是你要找的东西:

$Value = 'License Key : '.($License_Key) ? 'Valid' : 'Not Valid';

?基本上是if和:基本上是其他的。