Php symfony每个街区都有空格
如何用无空格包装每个块代码,以便从我的小树枝/html中裁剪空白 例如,现在我有:Php symfony每个街区都有空格,php,html,symfony,twig,Php,Html,Symfony,Twig,如何用无空格包装每个块代码,以便从我的小树枝/html中裁剪空白 例如,现在我有: {% block content %} <div class="box clearfix clearall"> <div class="ct colcontainer"> <div class="col-1"> <div class="chars">
{% block content %}
<div class="box clearfix clearall">
<div class="ct colcontainer">
<div class="col-1">
<div class="chars">
<table class="layout data-char">
<thead>
blabla
{% endblock %}
{%block content%}
布拉布拉
{%endblock%}
当symfony试图渲染它时,我想要symfony的锯子
{% block content %}
{% spaceless %}
<div class="box clearfix clearall">
<div class="ct colcontainer">
<div class="col-1">
<div class="chars">
<table class="layout data-char">
<thead>
blabla
{% endspaceless %}
{% endblock %}
{%block content%}
{%spaceless%}
布拉布拉
{%endspaceless%}
{%endblock%}
定义自定义细枝标记(复制粘贴方式)
您可以定义一个自定义细枝标记spacelessblock
,该标记结合和。然后可以在模板中使用{%spacelessblock xyz%}…{%endspacelessblock%}
。下面是您如何以快速、肮脏(复制和粘贴)的方式进行操作的
一种新的细枝节点
首先,定义一个类Twig\u Node\u SpacelessBlock
(例如,在捆绑包的扩展
目录中):
告诉小树枝这件事
在扩展类中:
class Extension extends \Twig_Extension
{
public function getTokenParsers()
{
return array(
new Twig_TokenParser_SpacelessBlock(),
);
}
}
把这件事告诉Symfony
如果尚未完成,请将以下内容添加到服务中。yml
:
services:
# …
my.extension:
class: Acme\MyBundle\Extension\Extension
tags:
- { name: twig.extension }
更好的选择
预处理器
更好的方法是使用预处理器来简单地替换
{% spacelessblock xyz %}
…
{% endspacelessblock %}
借
它重用了Twig项目中已经编写的所有代码,包括可能的更改 您可以在基本布局的“所有内容”块中使用{%spaceless%}。这将使里面的一切都变得空无一物。这对我来说不是一个好办法:)为什么这不是一个好办法?我猜,当Twig引擎编译Twig文件时,空间只会被删除一次,因此不会降低网站的性能。
services:
# …
my.extension:
class: Acme\MyBundle\Extension\Extension
tags:
- { name: twig.extension }
{% spacelessblock xyz %}
…
{% endspacelessblock %}
{% block xyz %}{% spaceless %}
…
{% endspaceless %}{% endblock %}