Frage

Welche Ausnahmebestationen sind "Stand der Technik" für die Umleitung von iPhone, iPad, Android, Tablet usw. Benutzer zu einem anderen Design?

Das heißt, ich erkenne in der

System -> Configuration -> Design

Benutzeroberfläche gibt es eine Funktion, mit der ich einen regulären Ausdruck erstellen kann, der mit der Benutzeragentenzeichenfolge übereinstimmt. Was ich suche, ist, welche spezifischen Zeichenfolgen die Leute verwenden, um nicht-desktop-Computer in ein anderes mobiles und/oder Antwortthema umzuleiten?

Oder gibt es einen besseren Ansatz als den "Ausnahme" -Ansatz, um heutzutage zu dauern?

War es hilfreich?

Lösung

Es gibt zwei verschiedene Versionen, die wir verwendet haben. Das erste ist das gleiche, das @Marius abzüglich der spezifischen "fennec" erwähnt hat (erwähnt (das ist nicht mehr in der UA -Zeichenfolge von FF Mobile). Ich habe es aus ähnlichen Quellen bekommen:

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

Die zweite ist dieselbe, aber mit dem Begriff "mobiler" entfernt, so dass die mobile Version einer Website nicht dem iPad serviert wird, das Mobile in seinem Benutzeragenten enthält. Apple macht sogar einen Punkt, um dies anzurufen TN2262:

Safari auf dem iPad kann ein "Desktop" -Weberlebnis liefern, und Benutzer werden dieses Erlebnis erwarten, da das iPad über einen großen Bildschirm und eine schnelle Netzwerkkonnektivität verfügt. Wenn Sie eine Version Ihrer Website haben, die für mobile Geräte mit kleinen Bildschirmen optimiert ist, servieren Sie diese mobile Version nicht für iPad -Benutzer.

...

Beachten Sie, dass die Safari auf iPad User Agent String das Wort "Mobile" enthält, aber nicht das Wort "iPhone" enthält. Wenn Sie derzeit mobile Inhalte an einen Browser bedienen, der sich selbst als "Mobile" identifiziert, sollten Sie Ihre User Agent String-Überprüfungen ändern, um nach einem iPad zu suchen und es zu vermeiden, die falsche Version Ihrer Website zu senden.

Basierend auf dem, was ich auf dem FF -Mobiltelefon sehe und "Android" in dieser Zeichenfolge verwendet Es wurde entschieden Um es aus verschiedenen Gründen in die UA -Zeichenfolge aufzunehmen.

Ich habe die Berichterstattung über die oben genannten Saiten ehrlich gesagt nicht persönlich getestet. Ich weiß das: Es ist ein kompliziertes Chaos! :)

Hinweis: Wenn Sie dies auf EE 1.12 oder früher einrichten (nicht überprüft 1.13), benötigen Sie einen Patch von Magento Support, damit der FPC ordnungsgemäß funktioniert. Es wird keine Entwurfsausnahmen im Release -Build berücksichtigt.

Update 1:

Der bekannte Fehler, der einen Patch für Entwurfsausnahmen erfordert, um zu funktionieren, besteht immer noch in EE 1.13.0.0 und 1.13.1.0. Bei Magento Support ist ein Patch verfügbar und er steht auf der Liste der bekannten Ausgaben: Supee-1598

Andere Tipps

Ich habe 2 Designausnahmen hinzugefügt, eine für Tablets, für die ich mein Desktop -Thema und eines für Telefone serviere, für die ich mein mobiles Thema bediene. Ich füge die Ausnahme hinzu, die zuerst auf die Tablets abzielt, und dann die Ausnahme, die auf die Mobiltelefone abzielt

Tablets

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

Telefone

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

Dies funktioniert so ziemlich 100%, wie erwartet ich Kredit geben muss, und ein großes Dankeschön an peeplogisch Wer ist Regex, das ich als meine Stiftung verwendet habe, danke Beep!

Hier ist eine Liste möglicher Werte. Ich bin mir fast sicher, dass dies nicht alle möglichen Werte sind, aber es deckt die meisten Fälle ab:

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

Quellen:
http://magebase.com/magento-tutorials/magento-design-esign-eceptions-explained/
http://inchoo.net/ecommerce/magento/magento-mobile-theme-imobile/

Dies ist eine, die ich verwendet habe:

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

Ich musste spezifische Versionen von Android -Geräten herausfiltern. Ein ähnlicher Ansatz kann verwendet werden, um iOS -Versionen herauszufiltern.

Das folgende Beispiel entspricht dem iPad, iPhone und allen Android außer den Versionen "2.*", "3.*", "4.0*"

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

Es wird negative Aussehen verwendet, siehe die Erklärung hier.
Beachten Sie, dass der Versuch, "> 2.3" nachzuahmen, nicht in Regex funktioniert, sondern eine Problemumgehung als Beispiel benötigt.
Eine großartige Ressource zum Testen von Regex -Übereinstimmungen auf Strings online ist Rubular

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top