我无法弄清楚如何在Symfony 2控制器中渲染宏。这就是我如何渲染树枝模板
$this
->get("twig")
->render("AcmeBundle:Product:table.html.twig", array(
"product" => $product
))
;
所以我搜索类似的东西,但是渲染一个树枝宏。感谢任何建议!
答案 0 :(得分:2)
Twig宏是模板中的东西。只要渲染执行宏的模板,就会运行它们。
答案 1 :(得分:0)
只需创建另一个“包装”模板,即可在其中仅包含该宏。像
macro.html.twig文件
{% macro sample(item) %}
{# some code here #}
{% endmacro sample #}
sample_macro_wrapper.html.twig
{% from 'macro.html.twig' import sample %}
{{ sample(item) }}
controller.php
public function someAction()
{
// ...........
$renderedMacro = $this->get('twig')
->render('sample_macro_wrapper.html.twig', ['item' => $item]);
}