Настройка дизайна исключительных строк для мобильных устройств

16

Какие строки исключений являются «современными» для перенаправления пользователей iPhone, iPad, Android, планшетов и т. Д. На другой дизайн?

То есть я понимаю в

System -> Configuration -> Design

Пользовательский интерфейс, есть функция, которая позволяет мне создавать регулярные выражения, которые сопоставляются со строкой пользовательского агента. Что я ищу, так это то, какие конкретные строки люди используют для перенаправления не-настольных компьютеров в другую мобильную тему и / или тему ответа?

Или есть лучший подход, чем подход «Исключения», который можно использовать в наши дни?

Алан Сторм
источник

Ответы:

15

Есть две разные версии, которые мы использовали. Первый - тот же, который @Marius упомянул за исключением конкретного упоминания "Fennec" ( которого больше нет в строке UA FF Mobile). Я получил это из похожих источников:

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

Второе - то же самое, но с удаленным термином «Мобильный», так что мобильная версия сайта не обслуживается iPad, который включает Мобильный в своем пользовательском агенте. Apple даже подчеркивает это в TN2262 :

Safari на iPad способен обеспечить «настольный» веб-опыт, и пользователи будут ожидать этого, поскольку у iPad большой экран и быстрое сетевое подключение. Если у вас есть версия вашего сайта, оптимизированная для мобильных устройств с небольшими экранами, НЕ используйте эту мобильную версию для пользователей iPad.

...

Обратите внимание, что строка пользовательского агента Safari на iPad содержит слово «Mobile», но не содержит слово «iPhone». Если вы в настоящее время предоставляете мобильный контент любому браузеру, который идентифицирует себя как «Мобильный», вам следует изменить проверку строк вашего пользовательского агента, чтобы найти iPad и не отправлять неправильную версию вашего сайта.

Исходя из того, что я вижу на FF Mobile, использование «Android» в этой строке вызовет проблемы, если вы хотите, чтобы тема рабочего стола распространялась на все планшеты (а не только на iPad), поскольку это было решено включить ее в строку UA по различным причинам. ,

Я, честно говоря, лично не проверял освещение вышеуказанных строк. Я знаю это: это сложный беспорядок! :)

Примечание. Если вы настраиваете это в EE 1.12 или более ранней версии (не проверили 1.13), вам потребуется исправление от поддержки Magento для FPC для правильной работы. В сборке выпуска не учитываются исключения дизайна.

Обновление 1:

Отмеченная ошибка, требующая исправления для исключений дизайна, все еще существует в EE 1.13.0.0 и 1.13.1.0. Патч доступен от поддержки Magento и находится в списке известных проблем: SUPEE-1598

davidalger
источник
Я бы проверил 1,13 для вас ... но ...
Philwinkle
1
Я мог бы проверить достаточно легко, я сейчас слишком ленив. :)
Давидгер
На полном серьезе, это довольно полный список. +1.
Philwinkle
@davidalger, я использовал первое выражение (вы упомянули). Теперь, как отобразить рабочий стол сайта на всех планшетах, ipad, ipad mini? потому что они все показывают мобильные темы.
Кишоре Патра
где я могу поместить эти строки для перенаправления мобильных устройств на www.m.myDOMAIN.com для мобильных устройств? Magento 1.9.1
Allysin
7

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

таблетки

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

телефоны

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

Это работает почти на 100%, как и ожидалось, я должен отдать должное, и огромное спасибо beeplogic, который я использовал в качестве основы для своего регулярного выражения, спасибо, гудок!

user2965205
источник
1
Я знаю, что это старый, но просто хотел заметить, что Ipad также использует строку Mobile, поэтому вы должны удалить ее из списка телефонов
Toon Van Dooren
2

Вот список возможных значений. Я почти уверен, что это не все возможные значения, но он охватывает большинство случаев:

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

Источники:
http://magebase.com/magento-tutorials/magento-design-exceptions-explained/
http://inchoo.net/ecommerce/magento/magento-mobile-theme-imobile/

Мариус
источник
1

Это тот, который я использовал:

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
beeplogic
источник
0

У меня была особая необходимость отфильтровывать определенные версии устройств Android. Подобный подход может быть использован для фильтрации версий iOS.

Следующий пример соответствует iPad, iPhone и всем Android, кроме версий «2. *», «3. *», «4.0 *»

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

Он использует негативные взгляды, см. Объяснение здесь .
Обратите внимание, что попытка имитировать «> 2.3» не будет работать в регулярных выражениях, но в качестве примера потребуется обходной путь. Отличным
ресурсом для проверки соответствия регулярных выражений в строках онлайн является Rubular.

tomg
источник