gpt4 book ai didi

symfony - 如何在 Twig 扩展中呈现 Controller 操作?

转载 作者:行者123 更新时间:2023-12-01 11:39:22 25 4
gpt4 key购买 nike

我确实有一个 twig 扩展,它有一个方法,该方法使用来自不同 Controller 的另一种方法通过依赖项 jsonResponse 呈现 json 输出。

如何在 twig 扩展中渲染 Controller ?

下面的代码似乎不起作用,因为 render() 需要一个 View 文件而不是 Controller 。我现在指的是 Controller 。

class AreaExtension extends \Twig_Extension {

public function add()
{

$outputJson = $this->container->get('templating')->render(new ControllerReference('CMSCoreBundle:Area:index'));
}
}

最佳答案

$ref = new ControllerReference('CMSCoreBundle:Area:index');
$this->handler->render( $ref, 'inline', $options );

其中 $this->handlerfragment.handler 服务。

在你的情况下:

$outputJson = $this->container->get('fragment.handler')->render(new ControllerReference('CMSCoreBundle:Area:index'));

您可以在这个 symfony twig 扩展中找到完整的示例,请参阅: https://github.com/symfony/symfony/blob/4.1/src/Symfony/Bridge/Twig/Extension/HttpKernelExtension.php#L28https://github.com/symfony/symfony/blob/4.1/src/Symfony/Bridge/Twig/Extension/HttpKernelRuntime.php#L41

关于symfony - 如何在 Twig 扩展中呈现 Controller 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23044149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com