Flow Theme Zoom Bilder BUG

es hat weniger mit der Shop Version, sondern eher mit dem Theme zu tun. Gelöst ist es frühstens dann, wenn der oben verlinkte Bug-Eintrag als gelöst markiert ist.

Hallo zusammen,

Der Thread befasst sich ja mit verschiedenen Punkten. Zu dem Fehler “Cannot read property x of undefined” bei Image Zoom und mehr als einem Bild habe ich aber keine Lösung herauslesen können. Da ich das Problem nun auch hatte, habe ich ein bisschen tiefer gegraben. Ich habe dazu eine Lösung gefunden, die relativ simpel ist und auf die Standard-OXID Funktionalität zurück greift.

Wen es interessiert - Das Problem
Das Problem ist, dass die Bild-Größen bei den “more pics” nicht geladen werden und diese Angaben dann dem JavaScript später fehlen. @windes hatte dazu schon eine Lösung mit allow_url_fopen gepostet, @Mitmacher hat hier zurecht angemerkt, dass das keine Lösung ist, da man sich damit Sicherheitsprobleme ins Haus holt.

Erstaunlich ist, dass OXID selber in der Detailansicht diese Daten auch anders lädt, nämlich bei dem großen Bild, das über den “morepics” angezeigt wird. Da dieser Weg nicht mit URLs sondern über einem lokalen Pfad läuft, grätscht die PHP Security Einstellung nicht rein und die Daten werden korrekt ermittelt.

Konkret: Die Lösung
Im Prinzip muss nur eine Zeile in der morepics.tpl gegen zwei neue ausgetauscht werden:

[{assign var="aPictureInfo" value=$oPictureProduct->getMasterZoomPictureUrl($iPicNr)|@getimagesize}]

austauschen gegen:

[{assign var="sPictureName" value=$oPictureProduct->getPictureFieldValue("oxpic", $iPicNr)}]
[{assign var="aPictureInfo" value=$oConfig->getMasterPicturePath("product/`$iPicNr`/`$sPictureName`")|@getimagesize}]

Das habe ich jetzt in drei verschiedenen Shops (4.10.X // CE und PE) so gemacht und war jedes mal erfolgreich.

Happy Coding,
Thorsten

7 Likes

Sehr gut, das funktioniert, vielen Dank! :slight_smile:
Dann hoffen wir mal, dass das auch ins Theme integriert wird.

Hab einen Pull Request gemacht, wir werden sehen :smiley: @marco.steinhaeuser :wink:

2 Likes

Auf dem Smartphone funktioniert es damit nicht. Es wird das Bild direkt aufgerufen. Zurück zum Shop es geht nur über den Browser.

1 Like

Ja, das kann ich bestätigen, das liegt aber nicht am Bugfix.

Mit dem Foxido Fix luppt es aber.

Ich wollte den aktuellen Fix noch mal ausprobieren, scheitere aber schon an dem Passwort.

Wo soll da was aufpoppen und wohin soll ich was schicken? Wenn ich die ZIP-Datei herunterlade und öffne (7-Zip oder Windows-Bordmittel-Packer), kommt nur die Passwort-Abfrage. :frowning:

Hat geklappt, vielen Dank @foxido.de ! :+1:

Und Feedback: Es läuft alles fehlerfrei. Ganz großes Lob und vielen Dank an @foxido.de!

Ich habe von einem aktuellen CE 4.10.6 Shop ein Flow-Child-Theme frisch erstellt und da einfach den foxido-Patch eingespielt.

  • kein Zoom-Bug mehr
  • Die Mini-Galerie ist nicht mehr broken bei > 4 Bildern
  • Photoswipe funktioniert jetzt auch auf Smartphone (xs), man muss nicht mehr mit dem Browser zurück navigieren

Das alles funktioniert jetzt auf dem Desktop, dem Tablet und dem Smartphone! Absolut genial, mir fällt ein Stein von Herzen. Zumal fast 40% der Clients unserer Seite Smartphones sind!

@foxido.de Ich komme bei der Passworteingabe ebenfalls nicht weiter. Beim Aufrufen des Download-Links erhalte ich keinen Hinweis o. ä. Was machen?

downloadlink http://www.foxido.de/flow-fix aufrufen. Auf der Seite dann den Link “DL 4104/4105” anklicken, worauf eine Zipdatei heruntergeladen wird.

Wenn du die Zipdatei öffnest, siehst du einen Hinweis:
De: Zum Erhalt des Passwortes schreiben Sie bitte an [email protected]

Daraufhin schickst du eine leere Email an die Adresse und bekommst postwendend das Passwort zugeschickt. :wink:

Warum das so kompliziert sein muss, weiß ich auch nicht.

1 Like

Bei Artikel mit 2, 3 oder 4 Bildern erhalte ich die Fehlermeldung
’Uncaught TypeError: Cannot read property ‘x’ of undefined’
in der Browser Konsole.

Bei 1 Artikelbild und 5 funktioniert sowohl der Zoom als auch das Schließen des Overlays problemlos.

Ich habe den Foxido Fix verwendet.
Jemand ne Idee? Bzw. kann das jemand - der den Fix auch verwendet - mal bei sich testen?

OXID Cache und Browsercache gelöscht.
Sowohl unter Chrome, Firefox als auch Chrome auf Android getestet.
OXID 4.10.6 CE

Das liegt dann an php und Du musst folgendes noch ändern. Flow Theme Zoom Bilder BUG

1 Like

Super, hat geklappt.
Danke.
Ich bin davon ausgegangen, dass der foxido fix alles abdeckt.

Der Fix ist älter als diese Fehlermeldung, die nicht bei jedem Auftritt: Stichworte php & allow_url_fopen

Super! Mit dem Foxido Fix und der Änderung von tj_schneider funktioniert es wunderbar.
Vielen Dank!

Ui, das waren ja ganz schön viele, die den Fix runtergeladen haben. Die Änderung von tj_schneider wird noch eingesetzt und alle Downloader benachrichtigt. Dies ist übrigens auch Sinn und Zweck, eine korrekte Mailadresse angeben zu müssen :wink:.

Leider kann ich den Flow-Fix nicht mehr runterladen.
Auf der Seite ist ein Passwortschutz drauf. :confused:

Kommt in Kürze wieder.

1 Like