我可以用 Smarty 制作好看的 HTML 吗?
我的意思是如果我采用这种模式(它不是一个工作代码,只是一个例子):
<div class="comments-div">
{{assign var="i" value="0"}}
{{assign var="tab" value="0"}}
{{foreach from=$contact.comments item=comment}}
<div class="comment-text"><p>{{$comment.text}}</p></div>
{{if $i == 3}}
{{assign var="i" value="0"}}
{{else}}
{{assign var="i" value=`$i+1`}}
{{/if}}
{{/foreach}}
</div>
它可能会产生这样的东西
<div class="tab" id="tab0" style="display: block;">
<div id="container73">
<div class="comment-text"><p>c1</p></div>
<div class="addby">
<p>
Added by: ASDF at 2011-04-22 15:58:41
<span> | </span> <a class="delete" _id="73">Delete comment</a>
</p>
</div>
</div>
<div id="container74">
<div class="comment-text"><p>c2</p></div>
<div class="addby">
<p>
Added by: DFGS at 2011-04-22 15:58:44
<span> | </span> <a class="delete" _id="74">Delete comment</a>
</p>
</div>
</div>
看看这些丑陋的空格和换行符
所以问题是:是否有任何做法可以避免使用 Smarty 编写难看的代码?
也许我需要使用这样的东西?
<div class="comments-div">
{{ assign var="i" value="0"}}
{{ assign var="tab" value="0"}}
{{ foreach from=$contact.comments item=comment}}
<div class="comment-text"><p>{{$comment.text}}</p></div>
{{ if $i == 3}}
{{ assign var="i" value="0"}}
{{ else}}
{{ assign var="i" value=`$i+1`}}
{{ /if}}
{{ /foreach}}
</div>
最佳答案
根据您想要格式化的方式,您可以使用 {strip} 函数:http://www.smarty.net/docs/en/language.function.strip.tpl {strip} 从输出中删除空格。
如果你想在一行中输出,你可以这样做:
{{strip}}<div class="comments-div">
{{assign var="i" value="0"}}
{{assign var="tab" value="0"}}
{{foreach from=$contact.comments item=comment}}
<div class="comment-text"><p>{{$comment.text}}</p></div>
{{if $i == 3}}
{{assign var="i" value="0"}}
{{else}}
{{assign var="i" value=`$i+1`}}
{{/if}}
{{/foreach}}
</div>{{/strip}}
您还可以使用 {strip} 删除部分输出中的空格:
<div class="comments-div">{{strip}}
{{assign var="i" value="0"}}
{{assign var="tab" value="0"}}
{{/strip}}{{foreach from=$contact.comments item=comment}}
<div class="comment-text"><p>{{$comment.text}}</p></div>{{strip}}
{{if $i == 3}}
{{assign var="i" value="0"}}
{{else}}
{{assign var="i" value=`$i+1`}}
{{/if}}
{{/strip}}{{/foreach}}
</div>
关于php - Smarty 缩进和代码格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5756963/