我在Sf2中获得了一个带有这样代码的命令:
use Symfony\Component\HttpFoundation\Request;
...
$container = $this->getContainer();
$container->enterScope('request');
$container->set('request', new Request(), 'request');
$context = $container->get('router')->getContext();
$context->setHost($container->getParameter('website_host'));
$context->setScheme($container->getParameter('website_scheme'));
$context->setBaseUrl($container->getParameter('website_path'));
var_dump($context->getBaseUrl());
这就是我在树枝模板中所做的:
{{ render(controller('X:Y:emailMenu')) }}
我得到了这个恼人的错误:
Rendering a fragment can only be done when handling a Request.
我已经尝试了composer update
和:
php vendor/sensio/distribution-bundle/Sensio/Bund
le/DistributionBundle/Resources/bin/build_bootstrap.php
但我仍然收到错误消息。我做错了什么?
答案 0 :(得分:3)
以下是SF 2.4中的解决方案:
...
$r = new Request();
$r->setLocale('fr');
$container->set('request', $r, 'request');
$container->get('request_stack')->push($r);
因此必须添加此行以使用request_stack:
<强> $容器 - &GT;获得(&#39; request_stack&#39;) - &GT;推($ R); 强>
希望它有所帮助。