这是可以接受的,但 PHP 会警告您$my_flag
未定义。
我会做这样的事情:
{if isset($my_flag)}
{if $my_flag == 123}
<p>print something</p>
{/if}
{/if}
如果您尝试当前的脚本,一切都会正常工作,但它会记录一个通知。上面的脚本确保只有当变量被设置然后做一些事情。
但是,由于 Smarty 已缓存,您可能需要重新加载页面几次才能看到更改(除非您指定$smarty_obj->force_compile = true;
)。