$nodes], ['names' => $paramNames], $lineno, $tag); } /** * Compiles the node to PHP. * * @param TwigCompiler $compiler A TwigCompiler instance */ public function compile(TwigCompiler $compiler) { $compiler->addDebugInfo($this); $compiler->write("\$context['__cms_content_params'] = [];\n"); for ($i = 1; $i < count($this->getNode('nodes')); $i++) { $compiler->write("\$context['__cms_content_params']['".$this->getAttribute('names')[$i-1]."'] = "); $compiler->write('twig_escape_filter($this->env, '); $compiler->subcompile($this->getNode('nodes')->getNode($i)); $compiler->write(")"); $compiler->write(";\n"); } $compiler ->write("echo \$this->env->getExtension('Cms\Twig\Extension')->contentFunction(") ->subcompile($this->getNode('nodes')->getNode(0)) ->write(", \$context['__cms_content_params']") ->write(");\n") ; $compiler->write("unset(\$context['__cms_content_params']);\n"); } }