Как получить переменную _locale внутри в макете Symfony?

Я работаю с Symfony 2 на сайте с двумя языками, и я хочу изменить шаблоны своих маршрутов в зависимости от языка пользователя!

Пример:

user_login_en:
    pattern:  /en/user/login.html
    defaults: { _controller: SfErrorsAppBundle:User:login, _locale: en }

user_login_fr:
    pattern:  /fr/utilisateur/connexion.html
    defaults: { _controller: SfErrorsAppBundle:User:login, _locale: fr}

Внутри шаблона это несложно, мне просто нужно передать $ this-> get ('session') -> getLocale () от контроллера к шаблону ...

Для работы мне нужно вызвать свои маршруты:

$router->generate('user_login_'.$locale, array());

Но внутри моих макетов, конечно, есть меню и боковые панели, на которые есть ссылки ... Итак Я хочу, чтобы переменная локали использовала его! Итак, мой вопрос прост: как поместить эту переменную в шаблон "макета"? В противном случае, у вас есть идея изменить шаблон в зависимости от языка?

Причина в том, что мне нужны красивые маршруты для всех пользователей, будь то английский или французский ... А также по причинам SEO!

64
задан Sybio 2 August 2011 в 21:39
поделиться