- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我可以用 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/
我有一个多维关联数组,我将其传递给 smarty 模板。我在我的 smarty 模板中使用下面的代码在我的浏览器中生成显示的两个表。 聪明的代码: {foreach from=$allarr key
如何打印聪明的变量的前n个字符,例如{$ var}的前30个字符? 最佳答案 您应该使用truncate修饰符: {$var|truncate:30} 更多信息here。 关于smarty - Sma
我有这个聪明的代码: {iterate from=fruits item=fruit} .... {/iterate} 我想在这个循环内有一个计数器,它接受一个起始值并增加一直到循环继续。 我应该用
我想自动转义所有模板变量,也就是我想转义它们而不必写|escape每时每刻。因此我启用了 $escape_html选项。 然而,显然 Smarty 处理使用 {capture} 创建的变量。以同样的方
我想在不使用循环的情况下获取 smarty 模板中数组的最后一个元素 assign("arr",$arr); 最佳答案 有一种简单的方法可以使用 variable modifier 在您的 Smart
我正在尝试向我的模板添加一些 smarty 到我想要提供的第一个元素 以及下一个元素 我尝试做这样的事情: {foreach $imageCollection as $image key=s
现在,我的日期显示如下: 19\06\2013 我想要的是这个: 19\6\2013 我目前的 smarty 代码是: {$variable|date_format:"%e\%m\%Y"} 我尝试使
我已经为 smarty 模板创建了一个文件夹结构 f .f1 ..template1.tpl ..test.tpl template1.tpl the template_dir path is poi
我正在尝试向我的模板添加一些 smarty 到我想要提供的第一个元素 以及下一个元素 我尝试做这样的事情: {foreach $imageCollection as $image key=s
我有一个“links.tpl”文件,其中包含具有许多变量的行,如下所示 {assign var=link_main value="index.php"} {assign var=link_log
如何使用Smarty获取URL,类似于JavaScript中的window.location? 我做到了 {$smarty.server.PHP_SELF} 但它不起作用。 最佳答案 你也可以使用这个
我将 Smarty 用于服务器端模板,我想将 Handlebars.js 用于客户端模板,但 Smarty 原因是错误,因为 Handlebars 使用与 Smarty 相同的大括号。 我可以在 Sm
我是 Smarty 的新手。我想对 smarty 中的数组元素进行 mod 操作。以下是我试图实现的代码片段: {if {$que_seq_no}.{$sub_ques_no+1} % 10 == 1
我正在尝试在表单中添加新的谷歌分析事件。所以我有这样的事情: Button 1 到目前为止,一切都很好。但我得到了这个奇怪的聪明错误: Fatal error: Uncaught e
我想用 smarty 编码一个 url。 $var 包含我的数据网址 最佳答案 与 escape modifier您可以设置可选的escape_type 'url' 以返回rawurlencode
哪种将我网站的模板化部分组合在一起的方法是最佳做法?我更喜欢第一种解决方案,但我不确定使用多次调用 display() 是一种好的做法。我正在寻找易于维护和速度。 display('header.tp
我们在所有前端模板中大量使用 Smarty。我观察到以下情况: 当我的Smarty模板类似如下: {if $a == 'A'} {$var1} {else}
在某些项目中,我必须使用 Perl 和 Template Toolkit在其他使用 PHP 和 Smarty模板。您能否以某种方式将两者配置为具有每种语言的公共(public)子集,以便您可以在 sm
如果它为空需要另一个结果,我有聪明的值(value) {get_video_meta video_id=$video_data.id key='test'} 这个值打印“测试”如果这个值是空的否则我该
PHP Smarty 的修改器插件可以访问 Smarty 对象吗? block 和 function 插件类型都将当前的 Smarty 对象作为参数。即 function smarty_functio
我是一名优秀的程序员,十分优秀!