Istnieją dwie różne wersje, których użyliśmy. Pierwszy to ten sam, o którym @Marius wspomniał minus specyficzna wzmianka „Fennec” ( która nie jest już w ciągu UA FF Mobile). Mam go z podobnych źródeł:
iPhone|iPod|BlackBerry|Palm|Googlebot-Mobile|Mobile|mobile|mobi|Windows Mobile|Safari Mobile|Android|Opera Mini
Drugi jest taki sam, ale z usuniętym terminem „Mobile”, tak że mobilna wersja witryny nie jest wyświetlana na iPadzie, co obejmuje Mobile w swoim kliencie użytkownika. Apple nawet wskazuje to na TN2262 :
Safari na iPadzie jest w stanie zapewnić wrażenia z korzystania z Internetu „na pulpicie”, a użytkownicy będą się tego spodziewać, ponieważ iPad ma duży ekran i szybką łączność z siecią. Jeśli masz wersję swojej witryny zoptymalizowaną pod kątem urządzeń mobilnych z małymi ekranami, NIE udostępniaj tej wersji mobilnej użytkownikom iPada.
...
Pamiętaj, że ciąg agenta użytkownika Safari na iPadzie zawiera słowo „Mobile”, ale nie zawiera słowa „iPhone”. Jeśli obecnie udostępniasz treści mobilne w dowolnej przeglądarce, która samodzielnie identyfikuje się jako „Mobilna”, zmodyfikuj ciąg znaków agenta użytkownika, aby wyszukać iPada i unikać wysyłania niewłaściwej wersji witryny.
W oparciu o to, co widzę na FF Mobile, użycie „Androida” w tym ciągu spowoduje problemy, jeśli chcesz, aby motyw pulpitu był wyświetlany na wszystkich tabletach (a nie tylko na iPadzie), ponieważ z różnych powodów postanowiono dołączyć go do ciągu UA .
Szczerze mówiąc, nie testowałem osobiście pokrycia powyższych ciągów. Wiem to: to skomplikowany bałagan! :)
Uwaga: Jeśli konfigurujesz to na EE 1.12 lub wcześniejszym (nie sprawdzono 1.13), będziesz potrzebował łatki z Magento Support, aby FPC działał poprawnie. Nie uwzględnia wyjątków projektowych w kompilacji wydania.
Aktualizacja 1:
Zauważony błąd wymagający poprawki do działania wyjątków projektowych nadal występuje w EE 1.13.0.0 i 1.13.1.0. Dostępna jest łatka dostępna w dziale pomocy Magento i znajduje się na liście znanych problemów: SUPEE-1598
Dodałem 2 wyjątki projektowe, jeden dla tabletów, dla których obsługuję motyw pulpitu i jeden dla telefonów, dla których obsługuję motyw mobilny. Najpierw dodaję wyjątek dotyczący tabletów, a następnie wyjątek dotyczący telefonów komórkowych
Tabletki
Telefony
Działa to prawie w 100% zgodnie z oczekiwaniami, muszę przyznać, i wielkie dzięki beeplogic, którego regex użyłem jako podstawy, dziękuję beep!
źródło
Oto lista możliwych wartości. Jestem prawie pewien, że nie są to wszystkie możliwe wartości, ale obejmuje większość przypadków:
Źródła:
http://magebase.com/magento-tutorials/magento-design-exceptions-explained/
http://inchoo.net/ecommerce/magento/magento-mobile-theme-imobile/
źródło
Tego użyłem:
źródło
Miałem konkretną potrzebę odfiltrowania określonych wersji urządzeń z Androidem. Podobne podejście można zastosować do odfiltrowania wersji iOS.
Poniższy przykład pasuje do iPada, iPhone'a i wszystkich Androida z wyjątkiem wersji „2. *”, „3. *”, „4.0 *”
Wykorzystuje negatywne spojrzenia, zobacz wyjaśnienie tutaj .
Zauważ, że próba naśladowania „> 2.3” nie będzie działać w wyrażeniu regularnym, ale wymaga obejścia jako przykładu. Świetnym
źródłem do testowania dopasowania wyrażeń regularnych w łańcuchach online jest Rubular
źródło