Налаштування дизайнерських рядків "Виняток" для пристроїв "Мобільні"


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 містить слово "Мобільний", але не містить слова "iPhone". Якщо ви зараз обслуговуєте мобільний вміст у будь-якому веб-переглядачі, який ідентифікує себе як "Мобільний", вам слід змінити перевірку рядків вашого агента користувача, щоб шукати iPad та уникати надсилання йому неправильної версії вашого веб-сайту.

Виходячи з того, що я бачу на FF Mobile, використання "Android" у цій рядку спричинить неполадки, якщо ви хочете, щоб тема робочого столу використовувалася для всіх планшетів (а не лише iPad), оскільки було вирішено включити її до рядка UA з різних причин .

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

Примітка: Якщо ви налаштовуєте це на EE 1.12 або раніше (не перевірено 1.13), вам знадобиться патч від Magento Support, щоб FPC працював належним чином. У збірці випусків не враховуються винятки дизайну.

Оновлення 1:

Зазначена помилка, що вимагає виправлення для винятку дизайну для роботи, все ще існує в EE 1.13.0.0 та 1.13.1.0. Існує патч, доступний у службі підтримки Magento, і він знаходиться у їхньому списку відомих проблем: SUPEE-1598


Я перевірив би 1,13 для вас ... але ...
philwinkle

1
Я міг би перевірити досить легко, на даний момент я просто лінивий. :)
davidalger

По всій серйозності, це досить повний список. +1.
philwinkle

@davidalger, я використав перший вираз (ви згадали). Тепер, як відобразити сайт на робочому столі у всіх планшетах, ipad, ipad mini? адже всі вони показують мобільні теми.
Kishore Patra

куди я кладу ці рядки для переадресації мобільних пристроїв на 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, хто підсумок я використовував як мою основу, Дякую вам звуковий сигнал!


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

0

У мене була конкретна потреба відфільтрувати конкретні версії пристроїв Android. Аналогічний підхід можна використовувати для фільтрації версій iOS.

Наступний приклад відповідає iPad, iPhone та всім Android, за винятком версій "2. *", "3. *", "4.0 *"

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

Він використовує негативні округи, пояснення див . Тут .
Зауважте, що спроба наслідувати "> 2.3" не буде працювати в регулярному вираженні, але потрібне вирішення як приклад.
Чудовим ресурсом для тестування відповідності регулярних виразів на рядках в Інтернеті є Rubular

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.