С помощью некоторых регулярных выражений я распознаю мобильные платформы и хочу отобразить шаблон по следующему шаблону:
Код: Выделить всё
.mobile.html.twig
Код: Выделить всё
.html.twig
Я попробовал почти все ответы из этого поста:
Symfony 2 загружает разные шаблоны в зависимости от свойств пользовательского агента
но безуспешно. К сожалению, номера версий не указаны.
В настоящий момент я пытаюсь скопировать и изменить загрузчик веток по умолчанию.
Кстати, что Я хочу добиться с помощью этого возможности развертывания различных шаблонов для мобильных устройств, просто добавив шаблон с тем же именем и добавив расширение .mobile.
ОБНОВЛЕНИЕ: >
http://www.99bugs.com/handling-mobile-t ... -symfony2/
Это тоже хороший подход. Он изменяет свойство формата объекта запроса, которое влияет на автоматическое угадывание шаблона, когда вы не указываете шаблон в контроллере с помощью функции рендеринга (или аннотации), а просто возвращаете массив.
Результирующее имя шаблона:
Код: Выделить всё
view//..
Обратной стороной этого является то, что каждому шаблону нужен кулон mobile.html (который затем можно просто включить немобильную версию, если она не нужна).
ОБНОВЛЕНИЕ:
Помимо использования пользовательского шаблона провайдера также есть возможность подключиться к событию kernel.view.
Подробнее здесь: https://stackoverflow.com/questions/204 ... e-fallback
Мобильная версия