0
爲了設置當前的UI語言,當從UserProvider對象(loadUserByUsername方法)中檢索用戶信息時,我需要將用戶默認語言設置爲會話變量。如何從Symfony2中的UserProvider對象設置會話變量?
如何訪問會話以從UserProvider對象設置當前的UI語言?
你知道更好的方法來管理UI當前語言嗎?
爲了設置當前的UI語言,當從UserProvider對象(loadUserByUsername方法)中檢索用戶信息時,我需要將用戶默認語言設置爲會話變量。如何從Symfony2中的UserProvider對象設置會話變量?
如何訪問會話以從UserProvider對象設置當前的UI語言?
你知道更好的方法來管理UI當前語言嗎?
您可以將此數據添加到請求偵聽器中的請求中。並在稍後取回。
/**
* 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 }
你應該看看這個:http://symfony.com/doc/current/cookbook/session/locale_sticky_session.html – Hast
聽起來很不錯,但我如何從UserProvider對象訪問該偵聽器? – hertsmael