Neu Bilder vom Parent beim Child

  • Temporäre Senkung der Mehrwertsteuer Hier findet ihr gesammelt alle Informationen, Videos und Fragen inkl. Antworten: https://forum.jtl-software.de/threads/mehrwertsteuer-senkung-vom-01-07-31-12-2020-offizieller-diskussionthread-video.129542/

3jojojo

Gut bekanntes Mitglied
20. Januar 2016
625
14
Guten Morgen
Hat jemand eine gute Idee wie man die Bilder eines Vaterartikels auch bei einem Child Artikel anzeigen kann?

Hintergrund ist das ich sehr viele Artikel habe wo es unterschiedliche Farben gibt. Der Vaterartikel hat dann dazu ein Emotion Bild (zum Beispiel wie die Jeans jemand trägt) diese würde ich nun gern zusätzlich bei den Kinderartikeln anzeigen.

Mir fehlt aber der Ansatz. Als Artikelbilder direkt angeben will ich die Bilder nicht.
 

david

Administrator
Mitarbeiter
16. Juli 2010
2.227
112
Denke du kommst um eine eigene Plugin-Lösung nicht herum, sofern du die Bilder nicht direkt in der Wawi vererben möchtest.
 

3jojojo

Gut bekanntes Mitglied
20. Januar 2016
625
14
keiner eine einfach quick and dirty idee für die template datei.

Die Child Artikel kennen doch auch die Vater_Funktionsattribute also Artikel->VaterFunktionsAttribute meine ich. Kommt man so nicht auch an das Bild?
 

david

Administrator
Mitarbeiter
16. Juli 2010
2.227
112
Mehr als {$Artikel->kVaterArtikel} und den vererbten Eigenschaften hast du am Kindartikel nicht, daher nicht allein über Smarty tpl lösbar.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.170
261
Halle
Hallo,
eine Lösung per Plugin ist sicherlich der korrekteste Weg. Unser Shop kann aber eine ganze Menge und somit gibt es auch eine Lösung die komplett auf Javascript basiert und damit einfach insTemplate integriert werden kann.
Der Ansatz dabei ist, den Artikelcontent des Vaterartikels beim Child per AJAX nachzuladen, dort die Bildinformationen zu extrahieren und diese in die Gallery des aktuellen Child-Artikels einzufügen. Das klingt kompliziert, sind aber nur ein paar Zeilen Code. Das einzige Problem ist hier der Overhead, der durch das Nachladen der Vater-Artikeldaten entsteht.
In der custom.js des eigenen Child-Templates könnte man das so realisieren:
JavaScript:
(function($) {
    function loadParentImage2Gallery() {
        // Parameter (Parent- und Child-ID) aus dem Produktformular holen
        var io   = $.evo.io();
        var args = io.getFormValues('buy_form');

        if (args.a && args.VariKindArtikel && !document.parentImagePushed) {
            // Flag für das Laden des Parent-Image setzen...
            document.parentImagePushed = true;
            // ...und Parent-Content per AJAX holen
            var url  = '/navi.php?a=' + args.a;
            $.ajax(url, {data: 'isAjax'}).done(function(html) {
                // Bilddaten aus dem Content extrahieren...
                var $images = $(html).find('#gallery a[itemprop="image"] img');

                if ($images.length) {
                    // ...und an die Einträge der aktuellen Gallery anhängen
                    var objImage = $images.data('list');
                    var imgItems = $.evo.article().gallery.getStack();
                    imgItems.push(objImage);
                    $.evo.article().gallery.setItems(imgItems);
                    $.evo.article().gallery.render();
                }
            })
        }
    }

    function initParentImage2Gallery() {
        // Wenn eine neue Variante gewählt wird, dann muss das Flag für das Parent-Image zurückgesetzt werden
        $('.variations .variation').click(function() {
            document.parentImagePushed = false;
        });
        $('.variations .form-control').change(function() {
            document.parentImagePushed = false;
        });
    }

    $(document).ready(function() {
        // Einfügen des Parent-Image beim direkten Aufruf des Child-Artikels...
        initParentImage2Gallery();
        loadParentImage2Gallery();
    });

    $(document).on('evo:contentLoaded', function() {
        // ...und auch beim Nachladen per AJAX
        initParentImage2Gallery();
        loadParentImage2Gallery();
    });
})(jQuery);
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
4.542
710
Berlin
Aber wie er schon sagt, über ein Plugin wäre es besser, du hast ja schon von mir das Plugin für die Templateunterstützung, da könnte man das gut hinzufügen denke ich.
 

m.preisner

Aktives Mitglied
13. Februar 2017
23
1
Was ich mich hierbei frage: Wieso muss denn zwingend, beim Wählen einer Variation, das Child geladen werden? Wäre eine Übergabe der Variable ( ID Child o.ä. ) nicht ausreichend um es in den Warenkorb zu legen?

Vorallem weil ich auch die Artikelbeschreibungen für die einzelnen Varkombis anlegen, speichern und laden muss, obwohl die, bei mir, immer identisch sind.

Gibts hierzu eine Lösung?
 
Zuletzt bearbeitet:

laweb

Aktives Mitglied
10. Februar 2017
6
0
@FPrüfer
Vielen Dank für den Code. Funktioniert super. Das einizige Problem ist, dass bei Child Articles die kein Bild haben noch diese Platzhalterbild (Kamera auf grauem Background) haben. Kennst du eine Lösung um das auszublenden? Denn Leider wird dieser Platzhalter dann auch im Warenkorb und ähnlichen Sachen verwendet. Danke!

Marco
 

Anhänge

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.170
261
Halle
Da müsste man jetzt aus objImage in einer Schleife noch die Elemente rausfiltern, die als src einen Verweis auf das Platzhalterbiild (/gfx/keinBild.gif) haben.
Die Anzeige des Platzhalters im Warenkorb wirst du damit aber nicht verhindern, da bei Variationskombinationen ja jedes Child ein eigener Artikel ist.
 

snPerranporth

Aktives Mitglied
6. März 2017
23
18
Hallo, auch ich wünsche mir, dass die Bilder des Vaterartikels beim Child nachgeladen werden.

Ich habe den obigen Code in die Custom des Child Templates per Copy Paste eingefügt. Aber leider tut sich bei mir nichts. Was mache ich falsch?
 
Zuletzt bearbeitet:

snPerranporth

Aktives Mitglied
6. März 2017
23
18
Hallo, Danke, dass du dich mit meiner Rückfrage beschäftigst.

Die custom wird geladen. Die Ausgabe lautet wie folgt:
JavaScript:
(function($) {
    function loadParentImage2Gallery() {
        var io = $.evo.io();
        var args = io.getFormValues('buy_form');
        if (args.a && args.VariKindArtikel && !document.parentImagePushed) {
            document.parentImagePushed = true;
            var url = '/navi.php?a=' + args.a;
            $.ajax(url, {
                data: 'isAjax'
            }).done(function(html) {
                var $images = $(html).find('#gallery a[itemprop="image"] img');
                if ($images.length) {
                    var objImage = $images.data('list');
                    var imgItems = $.evo.article().gallery.getStack();
                    imgItems.push(objImage);
                    $.evo.article().gallery.setItems(imgItems);
                    $.evo.article().gallery.render();
                }
            })
        }
    }
    function initParentImage2Gallery() {
        $('.variations .variation').click(function() {
            document.parentImagePushed = false;
        });
        $('.variations .form-control').change(function() {
            document.parentImagePushed = false;
        });
    }
    $(document).ready(function() {
        console.log("ParentImages2Gallery wird ausgefuehrt");
        initParentImage2Gallery();
        loadParentImage2Gallery();
    });
    $(document).on('evo:contentLoaded', function() {
        initParentImage2Gallery();
        loadParentImage2Gallery();
    });
}
)(jQuery);
Oder gilt der Code nur für das Hauptbild? Das wird angezeigt, ist aber auch im Kind hinterlegt.
 

snPerranporth

Aktives Mitglied
6. März 2017
23
18
Weil ich mich hier nicht blamieren wollte, habe ich mein Anliegen per PN geklärt.

Da ich ein Template nutze, musste der Code leicht angepasst werden. Mit folgender Änderung klappt der Code von 2017 (!) dann aber auch bei mir. :)
Zitat von FPrüfer:
PHP:
PHP:
...
// Bilddaten aus dem Content extrahieren...
var $images = $(html).find('#gallery a img');
...

Und für diejenigen, die wie ich dem Child lediglich ein Hauptbild hinterlegen, welches mit dem Parent identisch ist und daher nicht nachgeladen werden soll, der ändere wie folgt:

Zitat von FPrüfer:
Wenn das "Hauptbild" einfach nur das erste Bild ist, dann sollte es reichen, die Schleife:
JavaScript:
for (var i = 0; i < $images.length; i++) {
    var objImage = $($images[i]).data('list');
    imgItems.push(objImage);
}
statt von 0 einfach von 1 laufen zu lassen. Dann werden immer nur alle Bilder ab dem Zweiten übernommen


So kann man das ganze also noch etwas anpassen. Vielleicht hilft es jemandem.
Vielen lieben Dank an FPrüfer für die tolle Hilfe und die Geduld mit mir als Nicht-Programmierer! ;)
 
Ähnliche Themen Forum Antworten Erstelldatum des Themas
Offen Online-Shop Abgleich Woocommerce Bilder werden nicht importiert. WooCommerce-Connector 3
Offen Frage zu Bilder WooCommerce-Connector 2
Neu artikebeschreibung Bilder einfügen User helfen Usern - Fragen zu JTL-Wawi 2
Gelöst Bilder upload mit SEO funzt nicht WooCommerce-Connector 2
Neu Wie kann man Bilder von Elementsammlung löschen? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Avast blokiert Bilder auf eBay eBay-Anbindung - Fehler und Bugs 5
Neu Bilder im JTL Shop über Wawi aktualisieren Betrieb / Pflege von JTL-Shop 8
Neu Bilder aus Vorlage kopieren Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Gelöst Amazon Bilder können nicht hochgeladen werden Amazon-Anbindung - Fehler und Bugs 4
Neu Kategorien ohne Bilder ausgeben User helfen Usern - Fragen zu JTL-Wawi 1
Neu Bilder Variationskombinationen nur in der Vorschau sichtbar JTL-Shop - Fehler und Bugs 6
Neu JTL Ameise Artikel ohne Bilder importieren JTL-Ameise - Fehler und Bugs 7
In Bearbeitung Bilder übertragen Gambio-Connector 1
Neu ? Produktbilder in WaWi 1.5.21.3 (Bilder werden nicht in WaWi übernommen) JTL-Wawi - Fehler und Bugs 1
Neu Darstellung Bilder JTL Shop 4 Allgemeine Fragen zu JTL-Shop 2
Neu Megamenu lädt Bilder auch auf Mobile? Templates für JTL-Shop 1
Neu Bug? Ändern der URL einer Kategorie aktiviert Bilder der Unterkategorie Gambio-Connector 0
Neu Bilder in der Beschreibung - JTL Shop 5 JTL-Shop - BETA - Feedback und Bugmeldungen 1
Neu Woocomerce Bilder Artikelnummer WooCommerce-Connector 0
Neu Bilder werden übetragen aber im Shop nicht angezeigt. Einrichtung von JTL-Shop 3
Gelöst Workflow für Bilder-Export JTL-Workflows - Ideen, Lob und Kritik 1
Neu Bilder Unterkategorien ausblenden Betrieb / Pflege von JTL-Shop 2
Neu keine Bilder bei Variationen eBay-Anbindung - Fehler und Bugs 2
Neu Inline Bilder lassen Sich nicht ansehen, speichern, öffnen Servicedesk (Beta) 1
Neu JTL Connector lädt ständig die gleichen Bilder hoch WooCommerce-Connector 3
Neu Bilder Upload - Slider Allgemeine Fragen zu JTL-Shop 1
Neu Bilder drehen sich bei Upload in Wawi Arbeitsabläufe in JTL-Wawi 2
Neu Weiterleitung von Bilder - wie löschen? Betrieb / Pflege von JTL-Shop 1
Gelöst Selbsterstellte Produktseiten - Bilder führen beim Hochladen zu Fehler Amazon-Lister - Fehler und Bugs 11
Gelöst Slider-Ich kann keine Bilder Hochladen/Keine Fehlermeldung etc. Gelöste Themen in diesem Bereich 2
Neu JTL Shop 5.0 Bilder Aufruf und Lazy loading JTL-Shop - Ideen, Lob und Kritik 1
Offen Artikel nochmal vom Shop abrufen aber nichts in den Shop übertragen Allgemeines zu den JTL-Connectoren 3
Neu Erstes Bild vom Artikel in Email Vorlage Frage zum Produkt einfügen ?? Allgemeine Fragen zu JTL-Shop 2
Neu Mehrwertsteuer-Senkung vom 01.07.-31.12.2020 (Offizieller Diskussionthread) - Video Umfragen rund um JTL 508
Neu Automatische Abfrage vom Lagerbestand der Händler JTL-Ameise - Ideen, Lob und Kritik 4
Neu Mehrwertsteuer-Senkung vom 01.07.-31.12.2020 JTL-Wawi - Ideen, Lob und Kritik 144
Gelöst bei Zahlungen mit Paypal kommen keine Mails mehr vom JTL Shop Gelöste Themen in diesem Bereich 1
Offen Boxen vom Kommissionierwagen umbuchen Arbeitsabläufe in JTL-WMS 1
Neu Automatische Anpassung der Ebay Rahmenbedingungen Versandzeit abhängig vom Lagerbestand bei Überverkäufen aktiv? Arbeitsabläufe in JTL-Wawi 1
Neu Lieferzeit vom Lieferanten beziehen - Lieferzeit wird nicht aktualisiert JTL-Wawi - Fehler und Bugs 2
In Bearbeitung Amazon VCS Wechselkurs für GBP unterscheidet sich vom Wechselkurs in JTL Amazon-Anbindung - Fehler und Bugs 1
In Bearbeitung Mehrere Pfandarten beim Verkauf vom Gebinde (Flaschen + Kasten) Allgemeine Fragen zu JTL-POS 2
Neu Vom Auftrag zum Versandlabel Arbeitsabläufe in JTL-Wawi 8
Neu SEO Bildnamen werden vom Connector nicht mehr übertragen bzw. umbenannt Shopware-Connector 6
Neu Varkombis ohne Parent hochladen WooCommerce-Connector 2
Neu Lieferantenbestellung - Lieferanten Artikelname Child statt Parent JTL-Wawi - Ideen, Lob und Kritik 1
Ähnliche Themen