Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自routing.yml的Symfony2模板配置_Symfony - Fatal编程技术网

来自routing.yml的Symfony2模板配置

来自routing.yml的Symfony2模板配置,symfony,Symfony,在处理Sylius电子商务捆绑包时,我发现了一种为路由配置模板的方法,但我不知道: 我已经在一个全新的Symfony RC 2.2.0中测试了供应商的安装。 这将在routing.yml中 _welcome: pattern: / defaults: _controller: AcmeDemoBundle:Welcome:index _template: AcmeDemoBundle:Welcome:index # added by me 这将生成一个

在处理Sylius电子商务捆绑包时,我发现了一种为路由配置模板的方法,但我不知道:

我已经在一个全新的Symfony RC 2.2.0中测试了供应商的安装。 这将在routing.yml中

_welcome:
    pattern:  /
    defaults:
      _controller: AcmeDemoBundle:Welcome:index
      _template: AcmeDemoBundle:Welcome:index # added by me
这将生成一个错误:

FatalErrorException:错误:在上调用成员函数getTemplate() 中的非对象 .... \供应商\sensio\framework extra bundle\sensio\bundle\FrameworkExtraBundle\EventListener\TemplateListener.php 第62行

现在,在TemplateListener中,我们得到的是:

    if (!$configuration = $request->attributes->get('_template')) {
        return;
    }


    if (!$configuration->getTemplate()) {
        $guesser = $this->container->get('sensio_framework_extra.view.guesser');
        $configuration->setTemplate($guesser->guessTemplateName($controller, $request, $configuration->getEngine()));
    }
$configuration是一个字符串,实际上是我放在routing.yml(AcmeDemoBundle:Welcome:index)中的模板。通过添加一个
var\u dump
并检查参数bag->get方法进行检查,这就是
$request->attributes
的功能


所以。为什么TemplateListener需要一个对象?我错过了什么?我是否在routing.yml中配置错误?

此参数在Symfony本身中不可用

该功能由SyliusResourceBundle提供,仅在Sylius控制器中可用。 显然,
\u template
请求属性与SensioFrameworkExtraBundle冲突,后者使用相同的名称存储对象

我们必须将这些参数移到配置节点的更深处,以避免将来出现此类问题。
您可以随时查看存储库,修复程序应该今天就到。

太好了!谢谢你,Pawel,我以为这是一些symfony的东西(看起来像),否则我会在github中询问。当做