Резервный мобильный шаблон Symfony2 twigPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Резервный мобильный шаблон Symfony2 twig

Сообщение Anonymous »

Мне нужен простой способ вернуться к шаблону по умолчанию, если мобильной версии не существует.
С помощью некоторых регулярных выражений я распознаю мобильные платформы и хочу отобразить шаблон по следующему шаблону:

Код: Выделить всё

.mobile.html.twig
Но если этот шаблон не существует, я хочу, чтобы он автоматически включался:

Код: Выделить всё

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

Код: Выделить всё

view//..
Таким образом, вы можете переключить формат запроса с html на mobile.html в зависимости от обнаружения устройства.
Обратной стороной этого является то, что каждому шаблону нужен кулон mobile.html (который затем можно просто включить немобильную версию, если она не нужна).
ОБНОВЛЕНИЕ:
Помимо использования пользовательского шаблона провайдера также есть возможность подключиться к событию kernel.view.

Подробнее здесь: https://stackoverflow.com/questions/204 ... e-fallback
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»