Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php symfony每个街区都有空格_Php_Html_Symfony_Twig - Fatal编程技术网

Php symfony每个街区都有空格

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">

如何用无空格包装每个块代码,以便从我的小树枝/html中裁剪空白

例如,现在我有:

{% 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 %}