是否可能(以及如何)
我喜欢做的是,在不修改任何控制器的情况下加载不同的模板.
UPDATE
这不是检测部分真正的问题,它与symfony无关.它可以在控制器级别上完成(加载不同的模板):
public function indexAction()
{
$format = $this->isMobile() ? 'mob' : 'html';
return $this->render('AcmeBlogBundle:Blog:index.'.$format.'.twig');
}
Run Code Online (Sandbox Code Playgroud)
但它可以在全球范围内完成吗?就像服务,或者在每个请求之前执行的东西,并在模板规则中进行更改.