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

magento.stackexchange https://magento.stackexchange.com/questions/5650

  •  16-10-2019
  •  | 
  •  

Вопрос

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

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

System -> Configuration -> Design

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

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

Это было полезно?

Решение

Есть две разные версии, которые мы использовали. Первый тот же, который @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 содержит слово «мобильный», но не содержит слово «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

Другие советы

Я добавил 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 Кто такой режима, которую я использовал в качестве своего фундамента, спасибо Beep!

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

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/

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

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. Подобный подход можно использовать для фильтрации версий iOS.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top