Warum werden uralte Bugs nicht einmal in den neuen Oxid-Versionen behoben?

In der CE 6.0 tritt im Design Flow (wie schon in - meines Wissens - allen vorherigen Versionen und Designs) immer noch der uralte Bug auf, dass es den Bild-Slider bei Varianten zerreisst, wenn in der Variante mehr Bilder als beim Vater vorhanden sind.

Kann sowas nicht mal endlich dauerhaft gefixed werden? Hat mich jetzt wieder eine halbe Stunde gekostet, weil ich nicht mehr genau wusste, wie ich ihn damals in den älteren Versionen manuell gefixed hatte.

hast Du den Bug-Eintrag dazu? Ggf steht dort, warum das nicht gefixt wurde oder wann das gefixt werden sollte

Hab nur den hier gefunden:
https://bugs.oxid-esales.com/view.php?id=6734

Aber das Thema ist uralt und wurde hier im Forum vor Jahren schon besprochen. Es betrifft auch nicht nur Flow, denn das setze ich erst seit der 6.0 ein. Davor hatte ich Azure da gab es das Problem auch.

Vielleicht bekommst das Problem hiermit weg: https://forum.oxid-esales.com/t/flow-theme-zoom-bilder-bug/

Auch wenn das Deine Frage nicht direkt beantwortet:

Sofern Du schon eine Lösung hast für den Bug hast, kannst Du die gern als Pull Request im entsprechenden GitHub-Repository bei OXID einreichen. Nach meiner persönlichen Erfahrung werden auf diesem Weg selbst alte Bugs, die eigentlich als “werden nicht gelöst” kommentiert wurden, echt schnell in neue Releases übernommen.

Hab das Problem nie lösen können. Hab dann einfach dafür gesorgt, dass in solchen Fällen im Vater-Artikel mehr als 4 Bilder geladen sind. Es hat mich heute nur 30 Minuten gekostet, das erneut nachzuvollziehen. Erinnern konnte ich mich daran, dass ich das Problem vor 2-3 Jahren schon hatte. Aber die “Lösung” wollte mir erst nicht einfallen.

Mit einem kleinen Eingriff wird das nicht getan sein:

Wenn man die Stelle im Template findet, wo über die Abfrage “Mehr als 4 Bilder?” der Slider und die abhängigen Dateien eingebunden werden oder eben nicht, dann könnte man die Abfrage einfach umgehen. Dann würde der Slider aber immer geladen, was bei 4 oder weniger Bildern halt Mist aussieht.

Ein Lösungsansatz wäre, den Dropdown-Aufruf der Varianten nicht per AJAX sondern per Link-Aufruf zu machen. Dann würde die Abfrage immer greifen und auch korrekt den Slider ein- oder ausblenden. Das hätte in meinen Augen ohnehin SEO-Vorteile, da dann auch die Varianten-Artikel als eigenständige Seite bei Google auftauchen würden. Aber ehrlich gesagt, ist mir das den Aufwand nicht wert. Ich sorg bei besagten Fällen jetzt einfach dafür, dass der Vater mehr als 4 Bilder hat, wenn eine Variante auch mehr als 4 Bilder hat.

Nervig ist es trotzdem - insbesondere, da das seit Jahren bekannt ist und sicherlich den ein oder anderen betrifft, der es (womöglich) nicht mal sofort bemerkt.

UND: Es ist ja nicht nur ein optisches Problem, denn wenn die Seite mit fehlendem Slider erstmal aufgerufen wurde, kann man nicht mehr auf den Vater oder andere Varianten navigieren.

Nein - das betrifft wohl nur ältere Oxid-Versionen oder das Azure-Template.

Das Thema ist wirklich ein alter Dauerbrenner:

Nachdem ich feststellen musste, dass dieser Bug bei mir im Shop noch an viel mehr Stellen auftritt, habe ich das mal in Angriff genommen und eine einfache Lösung gefunden, den Bug zu beheben.

Kurz zum Hintergrund: Ich habe auf den Preisvergleichsplattformen Deeplinks zu allen meinen Varianten-Artikeln. Bisher bin ich davon ausgegangen, dass das Problem nur dann auftritt, wenn im Vater-Artikel weniger als 5 Bilder gezeigt werden (denn dann wird der Slider nicht geladen), in den Varianten aber eben mehr als 5 Bilder (dann wird der Slider nicht nachgeladen). ABER: Der Bug tritt auch dann auf, wenn irgendeine Variante weniger als 5 Bilder hat und man diese per Deeplink direkt aufruft. Navigiert man dann auf eine andere Variante mit mehr als 5 Bildern tritt der gleiche Bug dort auch auf.

Lösung: In der morepics.tpl (Bei CE 6.0 unter /source/Application/views/theme_name/tpl/page/details/inc/ zu finden) einfach die Abfrage um die beiden flexslider-Zeilen (css und js) entfernen, so dass das js und das css immer geladen werden. Die anderen Abfragen aber drin lassen! Auf diese Weise wird der Slider immer dann angezeigt, wenn mehr als 5 Bilder vorhanden sind und er wird aber nicht angezeigt, wenn es nicht nötig ist. Anschließend muss der /tmp Ordner geleert werden.

Danke fürs Posten deiner Lösung, magst du dafür einen Pull-Request machen?

Jo, mach ich heute Abend.

3 Likes