Bug in class.JTL-Shop.Artikel.php verhindert Anzeigen von Varkombi Vorschaubildern

John

Sehr aktives Mitglied
3. März 2012
3.871
933
Berlin
Das Symptom
Bei mir werden immer wieder sporadisch Vorschaubilder in der Listenansicht und auch im Artikel selbst von Variationskombinations-Kindern nicht angezeigt. Sie erscheinen nicht als Vorschaubilder. Das Ganze folgte keinem erkennbaren Schema.

Der Bug
In der Datei \classes\class.JTL- Shop.Artikel.php in der Funktion function holeVariationKombiKinder($kKundengruppe, $kSprache) werden die unter anderem die Vorschaubilder der Kinderartikel geholt. Dies geschieht in folgender Schleife

Code:
               $cBildGroesse_arr = array(); // Nur Bilder die max. 1x vorhanden sind
                $nKombiVorschauAnzahl = count($oVariationKombiVorschau_arr);
                foreach($oVariationKombiVorschau_arr as $i => $oVariationKombiVorschau)
                {
                    /*
                    unset($oArtikelTMP);
                    unset($oArtikelOptionenTMP);
                    $oArtikelTMP = new Artikel();
                    $oArtikelTMP->fuelleArtikel($oVariationKombiVorschau->kArtikel, $oArtikelOptionenTMP);
                    */

                    // Kostet zuviel Performence, dadurch koennten aber doppelte Bilder eingefuegt werden
                    /*
                    if($nKombiVorschauAnzahl <= 50)
                    {
                    */
                        if(in_array(@filesize(PFAD_ROOT . PFAD_PRODUKTBILDER_MINI . $oVariationKombiVorschau->cPfad), $cBildGroesse_arr))
                            {
                            unset($this->oVariationKombiVorschau_arr[$i]);
                            }                           
                        else
                        {
                            $this->oVariationKombiVorschau_arr[$i] = new stdClass();
                            $this->oVariationKombiVorschau_arr[$i]->cURL = URL_SHOP . "/navi.php?a=" . $this->kArtikel . "&amp;a2=" . $oVariationKombiVorschau->kArtikel;
                            $this->oVariationKombiVorschau_arr[$i]->cName = $oVariationKombiVorschau->cName;
                            $this->oVariationKombiVorschau_arr[$i]->cBildMini = PFAD_PRODUKTBILDER_MINI . $oVariationKombiVorschau->cPfad;
                            $this->oVariationKombiVorschau_arr[$i]->cBildKlein =  PFAD_PRODUKTBILDER_KLEIN . $oVariationKombiVorschau->cPfad;
                            $this->oVariationKombiVorschau_arr[$i]->cBildNormal = PFAD_PRODUKTBILDER_NORMAL . $oVariationKombiVorschau->cPfad;
                            $this->oVariationKombiVorschau_arr[$i]->cBildGross = PFAD_PRODUKTBILDER_GROSS . $oVariationKombiVorschau->cPfad;
                            $cBildGroesse_arr[] = @filesize(PFAD_ROOT . PFAD_PRODUKTBILDER_MINI . $oVariationKombiVorschau->cPfad);
                        }

                    if(count($this->oVariationKombiVorschau_arr) == $nLimit)
                        break;
                }
            }
        }

1. Jemand hatte die Idee, nur Bilder von Kinderartikeln sichtbar zu machen, sofern diese Bilder nur EINMAL auftauchen. D.h. jeder Kinderartikel, der das gleiche Bild1 gesetzt hat wie ein bereits vorher durchlaufener Artikel, wird nicht angezeigt. Ich halte die Idee für ausgesprochen schlecht. Wieso soll ein gleiches Bild nicht angezeigt werden? Man nimmt dem Kunden so die Möglichkeit, den Kinderartikel per Klick auszuwählen. Ein doppelt angezeigtes Bild signalisiert auch dem Shopbetreiber, daß er hier vielleicht mal handeln sollte, während ein nicht angezeigtes Bild dieses Problem unter den Tisch kehrt.

2. Aktuell werden die Mini Bilder verglichen und zwar auf Basis der Dateigröße. Wurde eine Dateigröße schon einmal bearbeitet, werden weitere Bilder mit gleicher Größe ignoriert. Nun sind die Mini-Bider ab sehr, sehr klein. Nur 1-2kB. Die Wahrscheinlichkeit, zwei unterschiedliche Bilder zu haben, die aber gleich groß sind, ist gar nicht mal so gering. Und tatsächlich ist genau HIER das Problem für nicht angezeigte Variationskombinations-Bilder bei mir. Bereits bei einem Artikel mit nur 12 Variationen habe ich Bilder identischer Größe aber mit unterschiedlichem Inhalt.

Workaround
1. Ich halte die Idee, doppelte Bilder auszublenden für schlecht und würde diese Funktion komplett rausnehmen.

2. Wenn die Funktion drin bleiben soll, MUSS der Vergleich der Dateigröße auf einem größeren Bild gemacht werden, da hier die Wahrscheinlichkeit, nicht identische Bilder anhand der Größe falsch als identisch zu erkennen geringer ist. Es sollte mindestens PFAD_PRODUKTBILDER_NORMAL als Basis genommen werden.

Die Sektion muß somit lauten:
Code:
                $cBildGroesse_arr = array(); // Nur Bilder die max. 1x vorhanden sind
                $nKombiVorschauAnzahl = count($oVariationKombiVorschau_arr);
                foreach($oVariationKombiVorschau_arr as $i => $oVariationKombiVorschau)
                {
                    /*
                    unset($oArtikelTMP);
                    unset($oArtikelOptionenTMP);
                    $oArtikelTMP = new Artikel();
                    $oArtikelTMP->fuelleArtikel($oVariationKombiVorschau->kArtikel, $oArtikelOptionenTMP);
                    */

                    // Kostet zuviel Performence, dadurch koennten aber doppelte Bilder eingefuegt werden
                    /*
                    if($nKombiVorschauAnzahl <= 50)
                    {
                    */
                        if(in_array(@filesize(PFAD_ROOT . PFAD_PRODUKTBILDER_NORMAL . $oVariationKombiVorschau->cPfad), $cBildGroesse_arr))
                            {
                            unset($this->oVariationKombiVorschau_arr[$i]);
                            }
                        else
                        {
                            $this->oVariationKombiVorschau_arr[$i] = new stdClass();
                            $this->oVariationKombiVorschau_arr[$i]->cURL = URL_SHOP . "/navi.php?a=" . $this->kArtikel . "&amp;a2=" . $oVariationKombiVorschau->kArtikel;
                            $this->oVariationKombiVorschau_arr[$i]->cName = $oVariationKombiVorschau->cName;
                            $this->oVariationKombiVorschau_arr[$i]->cBildMini = PFAD_PRODUKTBILDER_MINI . $oVariationKombiVorschau->cPfad;
                            $this->oVariationKombiVorschau_arr[$i]->cBildKlein =  PFAD_PRODUKTBILDER_KLEIN . $oVariationKombiVorschau->cPfad;
                            $this->oVariationKombiVorschau_arr[$i]->cBildNormal = PFAD_PRODUKTBILDER_NORMAL . $oVariationKombiVorschau->cPfad;
                            $this->oVariationKombiVorschau_arr[$i]->cBildGross = PFAD_PRODUKTBILDER_GROSS . $oVariationKombiVorschau->cPfad;
                            $cBildGroesse_arr[] = @filesize(PFAD_ROOT . PFAD_PRODUKTBILDER_NORMAL . $oVariationKombiVorschau->cPfad);
                        }

                    if(count($this->oVariationKombiVorschau_arr) == $nLimit)
                        break;
                }

Dieser Bug dürfte bei eltlichen Usern für sporadisches Fehlen von Vorschaubildern verantwortlich sein. Das Thema gabs hier im Forum ja schon öfters!
 

John

Sehr aktives Mitglied
3. März 2012
3.871
933
Berlin
AW: Bug in class.JTL-Shop.Artikel.php verhindert Anzeigen von Varkombi Vorschaubilder

Das habe ich auch nicht sage wollen.

Nichts desto trotz habe ich hier mehrere Artikel, bei denen Mini-Bilder bei gleicher Größe unterschiedlichen Inhalt haben und damit versagt der Code.

Ich vermute mal, daß ich nicht der Einzige mit diesem Problem bin. Was spricht gegen einen Vergleich auf Basis von größeren Bildern?
 

John

Sehr aktives Mitglied
3. März 2012
3.871
933
Berlin
AW: Bug in class.JTL-Shop.Artikel.php verhindert Anzeigen von Varkombi Vorschaubilder

Kann jemand von JTL diesen Bug bitte fixen, indem der Vergleich wie von mir vorgeschlagen auf
filesize(PFAD_ROOT . PFAD_PRODUKTBILDER_NORMAL

umgestellt wird?

Ich habe mit selbst mit einem der letzten 3.19bx Builds meinen eigenen Fix überschrieben und hatte das Problem wieder, bis mich ein Kunde darauf aufmerksam gemacht hat.

Der Fall, daß die kleinen Minibilder exakt gleiche Größe haben, kommt in der Praxis bei vielen Variationen, die sich z.B. nur in der Farbe unterscheiden WIRKLICH oft vor!

Danke!
 

John

Sehr aktives Mitglied
3. März 2012
3.871
933
Berlin
AW: Bug in class.JTL-Shop.Artikel.php verhindert Anzeigen von Varkombi Vorschaubilder

Der von mir gepostete Bugfix wurde auch in Shop3.20 nicht eingepflegt. Es wird immer noch auf

Code:
in_array(@filesize(PFAD_ROOT . PFAD_PRODUKTBILDER_MINI . $oVariationKombiVorschau->cPfad), $cBildGroesse_arr)

geprüft und damit Variationskombinationen, die ein gleich großes Mini Bild haben nicht angezeigt. Ich habe das Problem bei mir im Shop auf Anhieb bei mehreren Artikeln, bei denen ich nur die Farbe per Photoshop geändert habe.

Ich mache dann nun mal ein Ticket auf...
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu PayPal lädt nicht mehr nach Update auf 5.6 (Child theme Checkout index.tpl Bug) Installation / Updates von JTL-Shop 0
Neu Lagerplätze und Bestände lassen sich teils nicht im WMS Lager importieren? Evtl. BUG --> JTL 1.10.10.4? User helfen Usern - Fragen zu JTL-Wawi 1
Neu BUG! eBay Lieferadresse wird als Rechnungsadresse übertragen eBay-Anbindung - Fehler und Bugs 60
[Bug] DATEV Rechnungsdatenservice 2.0 – Fehlermeldung „USt-Id Nr. ist nicht geprüft oder ungültig“, obwohl Feld leer ist (Wawi 1.10.13.2 Beta) JTL-Wawi 1.10 2
Neu Aktuell hat PayPal Probleme BUG Korrektur Buchungen Allgemeine Fragen zu JTL-Shop 1
Neu Bug: Korrekturbuchung JTL-Wawi - Fehler und Bugs 0
Neu Übergabe Versandlaber an Fulfiller möglich über FFN standallone aber nicht über FFN mit angebundeener JTL-WAWI Arbeitsabläufe in JTL-Wawi 0
Ticket erstellen bei einer Fehlermeldung mit JTL-Start ??? JTL-Wawi 1.9 1
Neu JTL Track&Trace API Fehler derzeit? seit 15:50 Uhr JTL-Track&Trace - Fehler und Bugs 2
Neu JTL Shipping Server nicht erreichbar JTL-ShippingLabels - Fehler und Bugs 19
Neu Welcher Hoster ist für JTL-Shop 5 empfehlenswert? User helfen Usern 6
Neu 15 Jahre Vapsmoke.ch – unser Weg zu JTL Shops stellen sich vor 1
Neu JTL STAMMTISCH BONN – 13.11.2025 – powered by SaphirSolution Messen, Stammtische und interessante Events 0
JTL Plattform ebay Designvorlage JTL-Wawi 1.11 5
Neu Aktuellen JTL Shop installieren *Fehler* Installation / Updates von JTL-Shop 0
Studio-Webcast E-Com Insights mit JTL: Black Friday Edition am 30.10.25 Messen, Stammtische und interessante Events 0
JTL Wawi API beendet Registrierung nicht 1.11.1 JTL-Wawi 1.11 3
Neu Fehlerhafte Adress-Übernahme durch NinePoint (Mirakl → JTL) – wer ist noch betroffen? JTL-Wawi - Fehler und Bugs 3
Neu JTL Shop Versand Preisstaffel mit negativen Werten?? Allgemeine Fragen zu JTL-Shop 0
Jtl-Amz Problem JTL-Wawi 1.9 0
Neu Dropshipping Import/Export von JTL zu JTL User helfen Usern - Fragen zu JTL-Wawi 6
Keine Anmeldung mehr möglich in JTL Wawi seit Update? JTL-Wawi 1.11 5
JTL-Wawi stürzt beim Speichern des Shopify-Connectors jedes Mal ab JTL-Wawi 1.11 0
Neu JTL Shop - OSS - Länderauswahl notwendig ?! JTL-Shop - Ideen, Lob und Kritik 1
Neu Umzug von Shopify auf JTL Umstieg auf JTL-Shop 1
Webinar JTL + eBay: Dein Shortcut zu besseren Automatisierungen & mehr Verkäufen am 06.11.25 Messen, Stammtische und interessante Events 0
Neu JTL Shop Brevo Plugin meldet keine Abmeldungen an JTL Shop + Kontakte landen nicht in der Willkommenssequenz Plugins für JTL-Shop 0
Neu Suche Freelancer für Aufsetzen JTL B2B Shop Dienstleistung, Jobs und Ähnliches 3
Neu JTL-Shop Admin Bereich und Shop nur noch 504 Gateway Time-out ( Hosting über JTL ) User helfen Usern - Fragen zu JTL-Wawi 4
JTL POS , Selbstabholung, Ausliefern automatisch JTL-Wawi 1.10 8
JTL 1.11 aus Downloads und Supportseite verschwunden / ZugFerd Ausgabe geändert? JTL-Wawi 1.11 2
Neu JTL-Shop 5.5.2 – Fehlerhafter Canonical-Tag im Blog-Template verhindert Indexierung durch Google JTL-Shop - Fehler und Bugs 2
JTL Lob - gebuchte Wawi Edition in Fenster-Kopfleiste angezeigt JTL-Wawi 1.11 4
Issue angelegt [WAWI-71085] JTL Dashboard fehlerhafte Anzeige JTL-Wawi - Fehler und Bugs 3
1.11 mit 2 Mandanten - Dashboard bei Advanced Wawi zerschossen - JTL Start funktioniert JTL-Wawi 1.11 1
Sperrung Otto - keine JTL Synchronisation Otto.de - Anbindung (SCX) 0
Neu PC-Umzug mit Datenbanksicherung von JTL-Wawi 1.5.48 User helfen Usern - Fragen zu JTL-Wawi 5
Neu JTL-Wawi 1.11.2 Stable Release Releaseforum 2
Neu JTL Wawi 1.10.14.3 / Unbehandelte Ausnahme im WaWi-Error-Log / Die Sammlung wurde geändert. Der Enumerationsvorgang kann möglicherweise .... JTL-Wawi - Fehler und Bugs 1
Neu JTL Shop Update von 5.3.3 auf 5.6 mit der Community Free Edition - WaWi funktion weiter gegeben? User helfen Usern - Fragen zu JTL-Wawi 1
Probleme mit dem Einstellen von Artikeln auf Amazon über JTL Wawi mit dem Lister 2.0 Amazon-Lister - Fehler und Bugs 6
Neu JTL x Mollie MeetUp München am 16.10.25 Messen, Stammtische und interessante Events 0
Neu JTL Shop - Rabatt pro Kunde möglich ? Allgemeine Fragen zu JTL-Shop 8
Neu JTL-Shop TECHNIK (SalePix) – Problem mit Render Blocking Requests User helfen Usern - Fragen zu JTL-Wawi 2
Neu Update von JTL-Wawi von 1.6 auf 1.9 Installation von JTL-Wawi 12
Neu Kategorierabatte pro Kunde im JTL-Shop Einrichtung von JTL-Shop4 2
Neu JTL Connector Shopware-Connector 10
Neu Tailwind als Basis für JTL Shop 6 ? Templates für JTL-Shop 2
Neu Gewinnbasierte Provision & gezielte Kunden-Zuordnung im JTL Shop / Wawi User helfen Usern 0
Neu Netzwerkprobleme JTL Wawi sucht Datenbank beim Start unter falscher IP User helfen Usern 4

Ähnliche Themen