如何在控制器 symfony 2 中渲染 twig 宏



我不知道如何在Symfony 2控制器中渲染宏。这就是我渲染树枝模板的方式

$this
  ->get("twig")
  ->render("AcmeBundle:Product:table.html.twig", array(
    "product" => $product
  ))
;

所以我搜索类似的东西,但为了渲染树枝宏。感谢任何建议!

Twig 宏是模板中的东西。每当呈现执行宏的模板时,它们都会运行。

只需创建另一个"包装器"模板,其中只有该宏。类似的东西

宏.html.twig 文件

{% macro sample(item) %}
   {# some code here #}
{% endmacro sample #}

sample_macro_wrapper.html.树枝

{% from 'macro.html.twig' import sample %}
{{ sample(item) }}

控制器.php

public function someAction()
{
      // ...........
      $renderedMacro = $this->get('twig')
           ->render('sample_macro_wrapper.html.twig', ['item' => $item]);
}

最新更新