我有这个Smarty模板。
<p>
{foreach from=$fields item=field};{$field.dbName};{/foreach}
</p>
但不是
<p>
;test1;;test2;
</p>
它打印出以下信息:
<p>
;test1;;test2;</p>
但为什么?
$smarty->compile_dir
文件是正确的。但$smarty->display()
函数删除了我的换行符。这不是我想要的!我想要模板的1:1输出。
我不想在foreach
行的末尾添加空格字符。我不想在foreach
行之后添加第二个换行符。
是否有配置可以关闭此“功能”?
溴
答案 0 :(得分:1)
不可能涵盖所有场景,如果你这样做会怎样:
<p>
{foreach ...}
...
{/foreach}
</p>
您不希望创建额外的换行符吗?还有PHP:
<p>
<?php foreach(...): ?> ... <?php endforeach(); ?>
</p>
在最后一个PHP代码块之后,您仍然可以获取新行。
也就是说,Smarty 3.2中将有一个功能,包括在smarty标签之前和之后吃换行。像{-foo}之类的东西会在标记之前吃掉换行符,而{foo-}会在标记之后吃掉换行符。