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

John

Sehr aktives Mitglied
3. März 2012
3.701
862
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.701
862
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.701
862
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.701
862
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 Ist das ein BUG JTL-Ameise - Fehler und Bugs 1
Neu Bug - Grundpreis bei Preis mit Rabatt ist falsch JTL-Shop - Fehler und Bugs 0
Neu EazyAuction / eBay: Falsche Telefonnummern & Alias-Mails im Auftrag – Bug oder Feature? JTL-ShippingLabels - Fehler und Bugs 0
Bug Wawi-62710 in 1.10 behoben? (Variable für externe Auftragsnummer beim Zusammenfassen von Aufträgen) JTL-Wawi 1.10 2
Neu Aufträge importieren Fehler / Bug Testlauf - Import JTL-Ameise - Fehler und Bugs 9
Gelöst BUG - Falsches Workflow wird ausgeführt JTL-Workflows - Fehler und Bugs 2
Neu JTL PayPal Checkout 5.3.0 mit Shop 5.5.2 - Artikel nur sichtbar wenn Kunde eingeloggt ist oder Artikel nicht verfügbar ist Plugins für JTL-Shop 5
Neu Lizenzwarnung in JTL-Wawi – trotz gültiger eigener Lizenz Onlineshop-Anbindung 0
Steuerklassen prüfen nach Update auf JTL-Wawi 1.9 JTL-Wawi 1.9 1
Neu Session Blocking JTL-Shop 5.5.1 JTL-Shop - Fehler und Bugs 0
Kunden UStID wird nicht aus Amazon in JTL übermittelt Amazon-Anbindung - Fehler und Bugs 2
Neu Wareneingang ohne JTL-WMS Mobile: Umständlich?! Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu JTL 1.10.13 - Beta neue Oberfläche funktioniert nicht JTL-Wawi - Fehler und Bugs 1
Neu Freitexte aus Shopware in JTL Allgemeine Fragen zu JTL-Shop 7
Probleme beim Import von eBay-Produkten in JTL – neue Artikel werden nicht übernommen eBay-Anbindung - Fehler und Bugs 5
Neu Sortierung Artikel Wawi - JTL Shop Allgemeine Fragen zu JTL-Shop 1
Neu Massive Probleme mit JTL-Connector zu Shopify – lohnt sich der Einsatz überhaupt? Shopify-Connector 8
Keine Anmeldung möglich bei JTL WAWI JTL-Wawi 1.9 0
Neu Ist JTL-POS mit dem SumUp 3G+ kompatibel? JTL-POS - Fragen zu Hardware 1
Neu Fragen zur Elster-Anmeldung – iMin Falcon 1 & JTL-POS Allgemeine Fragen zu JTL-POS 6
Neu JTL WaWai Artikel aus Angebote von Plattformen Amazon+Otto erstellen Einrichtung und Installation von JTL-eazyAuction 0
Teilrechnung erstellen mit JTL Packtisch JTL-Wawi 1.10 4
Neu Shopware 6.6.10.2 Abgleich zu JTL | Bilder Übertragung Fehler: Path cannot be empty Shopware-Connector 0
Neu Eigene Felder - Sortierung wird nicht in JTL Shop übernommen - Anzeige im Shop immer unterschiedlich User helfen Usern - Fragen zu JTL-Wawi 0
Neu JTL Shop (anderes Template) eigene Felder aus Wawi als TAB im Shop User helfen Usern - Fragen zu JTL-Wawi 12
Neu JTL Connector Shopify Abgleich Problem Shopify-Connector 1
Neu Aktueller Installationsleitfaden / Softwareempfehlung für JTL Wawi 1.10.x im Netzwerk User helfen Usern - Fragen zu JTL-Wawi 2
JTL-FFN aus JTL-WaWi entfernen JTL-Wawi 1.9 0
JTL Wawi App (Ipad iOS) mit Wawi System 1.9.6.5 verknüpfen JTL-Wawi App 1
Neu JTL-Shop Lieferanten Artikelnummer und Suchbegiffe für Onlineshop werden im Shop nicht gefunden Allgemeine Fragen zu JTL-Shop 5
Neu JTL PayPal Checkout nach Updatefehler 2.0.0 doppelt vorhanden Plugins für JTL-Shop 3
Neu Behandlung von JTL Shop Coupons und Retouren in JTL Wawi Arbeitsabläufe in JTL-Wawi 0
Neu JTL-Stammtisch Köln am 10.7.2025 – powered by go eCommerce Messen, Stammtische und interessante Events 0
JTL Wawi REST API 0.0.0.0 JTL-Wawi 1.10 4
keine Eazybusiness Datenbank beim öffnen von JTL WaWi JTL-Wawi 1.7 3
JTL Connector <-> JTL WAWI Keine neune Importe von Aufträgen JTL-Wawi 1.9 0
Neu Rückzahlungen aus JTL Wawi direkt auslösen User helfen Usern - Fragen zu JTL-Wawi 0
Währungsproblem | Shopify --> JTL JTL-Wawi 1.9 3
Neu Fehler beim JTL-Worker – "Der Remoteserver hat einen Fehler zurückgegeben: (502) Ungültiges Gateway" (Shopify) JTL-Wawi - Fehler und Bugs 2
Neu JTL-Wawi startet nicht - Datenbank kaputt JTL-Wawi - Fehler und Bugs 5
Neu Welche Alternativen zu JTL-Shop JTL-Shop - Ideen, Lob und Kritik 9
Neu Plugin-Update 2.4.1: JTL Exportformat Google Shopping Plugins für JTL-Shop 6
Neu Wie lange ist der JTL Token gültig? Ich bekomme rel. schnell die Meldung "Fehlerhafter Token" User helfen Usern - Fragen zu JTL-Wawi 0
Artikel Reiter "retail" (unser Name für JTL-POS) fehlt unter Sonderpreis JTL-Wawi 1.10 1
Neu JTL Shop 5.5.1 Lieferland kann bei abweichender Lieferadresse nicht ausgewählt werden JTL-Shop - Fehler und Bugs 9
Neu JTL Shop: Ausblenden von Unterkategorien (In der Mitte) möglich ? Allgemeine Fragen zu JTL-Shop 0
JTL Retoure Umtausch anlegen und Rest erstatten JTL-Wawi 1.9 1
Neu JTL Shop 5.5 Tips für bessere Performance? Allgemeine Fragen zu JTL-Shop 5
Neu JTL Debug 2.0.4 und Shop 5.5.2 - Fehler 500 Plugins für JTL-Shop 3
Neu Sprechende URLs & Sprachlogik im JTL-Shop – Wer hat’s schon umgesetzt? Allgemeine Fragen zu JTL-Shop 1

Ähnliche Themen