我正在使用smarty实现带有父子html的条件{block}
标记实现。
在我的父母身边,我有:
<li class="{block name=block1}{/block}" style="{block name=block2}{/block}">
在子html中:
{if $value}
{block name=block2}background-color: {$value}{/block}
{else}
{block name=block1}selected{/block}
{/if}
期望:根据$ value的值,if条件块中的任何一个应该执行并填充父项<li>
发生了什么:它正在执行$value
是非空白还是空白并同时填充class
和style
属性。
请帮助我在这里做错了或我的实施不正确。
答案 0 :(得分:0)
{if $value}
{block name=block2}background-color: {$value}{/block}
{else}
{block name=block1}selected{/block}
{/if}
至少/ if应该用于关闭if
的标签答案 1 :(得分:0)
Smarty {blocks}
不能与{if}
条件一起使用。它们将永远被执行。在这里看到一个Post in the smarty forum,其中解释得更好一些,并在底部给出了一个(丑陋的,在我看来)解决方法。
最重要的是,您无法轻松实现您尝试做的事情,您将不得不更改代码。