【发布时间】:2012-06-17 14:23:01
【问题描述】:
我遇到了一个问题,定义 {block} 的值会引入很多不必要的空格。
我有一个主模板,我们称之为main.html,它看起来像这样(简化):
<html>
<title>{block name=title}{$default_title}{/block}</title>
...
</html>
然后我在假设topics.html 中继承它,并在其中定义标题块:
{extends file="main.html"}
{block title}
{if $topic}
{if $topic == "all"}
{eval $Config['titles']['topics']['all']}
{else}
{eval $Config['titles']['topics']['particular']}
{/if}
{else}
{eval $Config['titles']['topics']['list']}
{/if}
{/block}
现在当我编译 topics.html 模板时,<title>...</title> 标记内有很多空白。
例如,它看起来像这样:
<title>
Showing all wiki topics </title>
如何从评估块的结果中修剪/去除空白,使其看起来如下所示:?
<title>Showing all wiki topics</title>
我尝试在{block title}...{/block} 周围添加{strip}...{/strip},如下所示:
{strip}
{block title}
...
{/block}
{/strip}
但这并没有改变什么。
我也试过这个:
{block title|strip}
...
{/block}
但这是一个语法错误。我也试过这个:
{block title|trim}
...
{/block}
但这也是一个语法错误。
我也试过了:
{block title}
{strip}
...
{/strip}
{/block}
但这也无济于事,因为我已经在 {block title} 之后引入了一个新行,所以它保留在编译的模板中。
任何帮助表示赞赏!
【问题讨论】:
-
好像其他人也有同样的问题,请查stackoverflow.com/questions/9207163/…
-
我很惊讶
{strip}{block title}...没用,你确定吗? -
@WesleyMurch 那行不通。请参阅下面的罗德尼回答。
标签: php templates smarty removing-whitespace