Question

Qu'est-ce que les chaînes d'exception sont "état de l'art" pour rediriger iPhone, iPad, Android, tablette, etc. utilisateurs à un design différent?

C'est, je me rends compte dans le

System -> Configuration -> Design

L'interface utilisateur, il y a une fonction qui me permet de créer une expression régulière qui est en correspondance avec la chaîne de l'agent utilisateur. Ce que je suis à la recherche est ce que les gens utilisent de spécifiques pour rediriger les ordinateurs non bureau à un autre thème mobile et / ou une réponse?

Ou est-il une meilleure approche que l'approche « Exception » de prendre ces jours?

Était-ce utile?

La solution

Il existe deux versions différentes que nous avons utilisé. Le premier est le même que celui qui @Marius fait mention moins le spécifique « Fennec » mention ( qui n'est plus dans la chaîne UA FF de mobile). Je l'ai de sources similaires:

iPhone|iPod|BlackBerry|Palm|Googlebot-Mobile|Mobile|mobile|mobi|Windows Mobile|Safari Mobile|Android|Opera Mini

La seconde est la même, mais avec le terme « Mobile » enlevé afin que la version mobile d'un site n'est pas servi à l'iPad, qui comprend mobile dans l'agent utilisateur de lui. Apple fait même un point d'appeler cela dans TN2262 :

  

Safari sur iPad est capable de fournir une expérience web "bureau",   et les utilisateurs attendent depuis cette expérience iPad dispose d'un grand écran   et la connectivité réseau rapide. Si vous avez une version de votre site web   qui est optimisé pour les appareils mobiles avec de petits écrans, ne servent pas   cette version mobile pour les utilisateurs iPad.

     

...

     

Notez que la chaîne d'agent utilisateur Safari sur iPad contient le mot   « Mobile », mais ne contient pas le mot « iPhone ». Si vous êtes actuellement   servant contenu mobile à un navigateur qui se identifie comme   « Mobile », vous devez modifier vos chèques de chaîne d'agent utilisateur à rechercher   iPad et éviter de l'envoyer la mauvaise version de votre site.

D'après ce que je vois sur la FF Mobile, en utilisant « Android » dans cette chaîne causera des problèmes si vous voulez que le thème de bureau servi à tous les comprimés (et pas seulement iPads) depuis il a été décidé de l'inclure dans la chaîne UA pour diverses raisons.

J'ai honnêtement pas testé personnellement la couverture des chaînes ci-dessus. Je ne sais ceci: Il est un gâchis compliqué! :)

Remarque: Si vous configurez sur cette EE 1.12 ou plus tôt (n'avez pas vérifié 1.13) vous aurez besoin d'un patch à partir Magento Appui à la FPC pour fonctionner correctement. Il ne prend pas des exceptions de conception en compte dans la version release.

Mise à jour 1:

Le bogue noté nécessitant un patch pour les exceptions de conception au travail existe encore en EE 1.13.0.0 et 1.13.1.0. Il y a un patch disponible de support Magento et il est sur leur liste de problèmes connus: SUPEE-1598

Autres conseils

J'ai ajouté 2 exceptions de conception, une pour les tablettes, pour lesquels je sers mon thème de bureau et un pour les téléphones, pour lesquels je sers mon thème mobile. Ajouter l'exception ciblant les comprimés d'abord, puis l'exception ciblant les téléphones mobiles

Tablettes

iPad|Silk|Kindle|Xoom|SCH-I800|Tablet|GT-P10|SC-01C|SHW-M180S|SGH-T849|SCH-I800|SHW-M180L|SPH-P100|SGH-I987|zt180|HTC(.Flyer|\\_Flyer)|Sprint.ATP51|ViewPad7|pandigital(sprnova|nova)|Ideos.S7|Dell.Streak.7|Advent.Vega|A101IT|A70BHT|MID7015|Next2|nook|Windows NT|DROID RAZR

Téléphones

android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|iP(hone|od)|iris|kindle|lge |maemo|meego.+mobile|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|(Android.+Mobile)|NOKIA|SymbianOS|N900|BlackBerry|Mobile

Cela fonctionne à peu près 100% comme prévu Je dois donner du crédit, et un grand merci à beeplogic qui est moi regex utilisé comme ma fondation, Merci beep!

Voici une liste de valeurs possibles. Je suis presque sûr que ce ne sont pas toutes les valeurs possibles, mais il couvre la plupart des cas:

iPhone|iPod|BlackBerry|Palm|Googlebot-Mobile|Mobile|mobile|mobi|Windows Mobile|Safari Mobile|Android|Opera Mini|Fennec

Sources:
http://magebase.com/magento-tutorials/magento-design -exceptions-expliqué /
http://inchoo.net/ecommerce/magento/magento-mobile -theme-Imobile /

Ceci est celui que je l'ai utilisé:

android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|meego.+mobile|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino

J'ai eu un besoin spécifique pour filtrer les versions spécifiques des appareils Android. Une approche similaire peut être utilisée pour filtrer les versions iOS.

L'exemple suivant correspond à l'iPad, iPhone et Android à l'exception des toutes les versions "2. *", "3. *", "* 4.0"

iPad|iPhone|Android ((?!(2\.|3\.|4\.0)).)

Il utilise lookarounds négatif, voir l'explication ici .
Notez que d'essayer de mimer « > 2.3 » ne fonctionnera pas dans regex, mais ont besoin d'une solution de contournement comme l'exemple.
Une excellente ressource pour tester l'appariement des expressions régulières sur les chaînes est en ligne Rubular

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top