Skip to content

Possible BC break with CaptureNode in 3.10.x #4092

@PastisD

Description

@PastisD

Hello,

Since 3.10.x, I think there is an issue with commit 799355d (It works in 3.9.x)
image

A semilicon is missing from generated code
image

Here is the generated function :

    protected function doDisplay(array $context, array $blocks = [])
    {
        $macros = $this->macros;
        $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
        $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "email/base.mjml.twig"));

        $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
        $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "email/base.mjml.twig"));

        // line 1
            $content = \Twig\Extension\CoreExtension::captureOutput((function () use (&$context, $macros, $blocks) {
                // line 2
                yield "<mjml lang=\"fr\">
    <mj-head>
        <mj-attributes>
            <mj-all font-family=\"Arial\" font-size=\"14px\" line-height=\"1.2\" color=\"#23343E\" />
            <mj-text padding=\"0\" />
            <mj-class name=\"suptitle\" font-size=\"20px\" />
            <mj-class name=\"title\" font-size=\"30px\" />
            <mj-class name=\"lead\" font-size=\"16px\" font-weight=\"bold\" />
            <mj-class name=\"price\" font-size=\"12px\" font-weight=\"bold\" color=\"#ED254C\" />
            <mj-button background-color=\"transparent\" border-radius=\"0\" color=\"#fff\" border=\"2px solid #fff\" font-weight=\"bold\" padding=\"10px 20px\" />
        </mj-attributes>

        <mj-html-attributes>
            <mj-selector path=\".custom-col > table > tbody > tr > td\">
                <mj-html-attribute name=\"class\">second-col</mj-html-attribute>
            </mj-selector>
        </mj-html-attributes>

        <mj-style inline=\"inline\">
            ";
                // line 21
                yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\GlobalExtension']->getEncoreEntryCssSource("email"), "html", null, true);
                yield "
        </mj-style>

        <mj-style>
            @media only screen and (max-width: 479px){
                .second-col {
                    border-top: 1px solid #E2E1E0;
                }
            }
            @media only screen and (min-width: 480px){
                .table{
                    display: table;
                    table-layout: fixed;
                    width: 100%;
                }
                .table > div{
                    display: table-cell !important;
                }
                .table > div.w-100{
                    width: 100% !important;
                    max-width: 100%;
                }
                .second-col {
                    border-left: 1px solid #E2E1E0;
                }
            }
        </mj-style>
    </mj-head>

    <mj-body background-color=\"#F4F3F2\">

        ";
                // line 52
                yield from $this->unwrap()->yieldBlock('header', $context, $blocks);
                // line 64
                yield "

        ";
                // line 66
                yield from $this->unwrap()->yieldBlock('subheader', $context, $blocks);
                // line 73
                yield "

        <mj-wrapper padding=\"30px 16px\">
            ";
                // line 76
                yield from $this->unwrap()->yieldBlock('content', $context, $blocks);
                // line 77
                yield "

            ";
                // line 79
                yield from $this->unwrap()->yieldBlock('footer', $context, $blocks);
                // line 94
                yield "
        </mj-wrapper>

    </mj-body>
</mjml>
";
                return; yield '';
            })())
        preg_match("/^\s*/", $content, $matches);
        $lines = explode("\n", $content);
        $content = preg_replace('/^' . $matches[0]. '/', "", $lines);
        $content = implode("\n", $content);
        echo $this->env->getExtension("NotFloran\MjmlBundle\Twig\Extension")->getMjml()->render($content);
        
        $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);

        
        $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);

        return; yield '';
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions