为了设置当前的UI语言,我需要在从UserProvider对象(loadUserByUsername方法)中检索用户信息时将用户默认语言设置为会话变量。
如何访问会话以从UserProvider对象设置当前UI语言?
您是否了解管理UI当前语言的更好方法?
答案 0 :(得分:0)
您可以在请求侦听器中将此数据添加到请求中。并在以后获取它。
/**
* Set the right format to notify FosRest Handle view regarding the real format that the request contain
*
* @param GetResponseEvent $event
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
*/
public function onKernelRequest(GetResponseEvent $event)
{
$request = $event->getRequest();
$callback = $request->get('callback');
if ( $callback!=''){
$event->getRequest()->attributes->set('_format','jsonp');
}
}
和services.yml:
kernel.listener.callback_request:
class: CallbackRequestListener
arguments: []
tags:
- { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }