【发布时间】:2023-03-06 21:12:01
【问题描述】:
我不知道如何在 Symfony 2 控制器中渲染宏。这就是我可以渲染树枝模板的方式
$this
->get("twig")
->render("AcmeBundle:Product:table.html.twig", array(
"product" => $product
))
;
所以我寻找类似的东西,但用于渲染树枝宏。感谢您的任何建议!
【问题讨论】:
我不知道如何在 Symfony 2 控制器中渲染宏。这就是我可以渲染树枝模板的方式
$this
->get("twig")
->render("AcmeBundle:Product:table.html.twig", array(
"product" => $product
))
;
所以我寻找类似的东西,但用于渲染树枝宏。感谢您的任何建议!
【问题讨论】:
Twig 宏是模板内的东西。每当您渲染执行宏的模板时,它们就会运行。
【讨论】:
$controller->render() 调用中调用宏,我以前做过,但我不能记住语法 >.
只需创建另一个“包装”模板,其中只有那个宏。类似的东西
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]);
}
【讨论】: