Sinfonia:Roteamento especial para navegadores móveis
-
21-09-2019 - |
Pergunta
Existe alguma maneira de detectar o tipo de navegador no roteamento e usar um controlador específico?Quero poder fazer algo assim em routing.yml:
mobile:
url: /*
requirements:
browser: mobile
Solução
Este artigo do blog symfony de Fabien descreve uma solução elegante para uma versão do seu site otimizada para iPhone.Mude o regexp que ele usa para algo que corresponda mais amplamente aos navegadores/clientes usados para acessar seu site, e você terá uma versão 'mobile'.
EDITAR:Eu acrescentaria que talvez um 'aplicativo' totalmente diferente possa ser uma solução melhor, como o do Facebook m.facebook.com interface.
Outras dicas
Não é realmente exatamente o que você procura, mas você pode usar os scripts de http://detectmobilebrowsers.mobi/ Para detectar de que tipo de navegador uma solicitação vem. Você pode integrar esses scripts em uma classe Base Controller (ou roteador) para lidar com solicitações adequadamente.