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
677
21
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.271
128
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
677
21
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.271
128
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.404
330
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.757
810
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.404
330
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
25
24
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
25
24
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
25
24
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
Neu Bilder werden im Shop 5 nicht richtig angezeigt (PNG) Allgemeine Fragen zu JTL-Shop 4
Bilder auf der Produktseite werden nicht richtig dargestellt Upgrade JTL-Shop4 auf JTL-Shop5 1
Neu Gambio Abgleich Fehler beim Produktabgleich/Bilder Gambio-Connector 9
Neu Ameise: Export von Bilder-Informationen ohne Export der eigentlichenBilder User helfen Usern - Fragen zu JTL-Wawi 8
Neu Artikel hat neue Bilder, alte werden angezeigt, obwohl Ordner auf FTP nicht exisitiert JTL-Shop - Fehler und Bugs 0
Neu Bilder werden Artikeln nicht zugeordnet Shopware-Connector 4
Neu Allgemeine Bilder im Shop, nicht aus der Wawi, wohin damit? JTL-Shop - BETA - Feedback und Bugmeldungen 1
Neu Bilder werden nicht mehr übertragen WooCommerce-Connector 0
Neu NOVA Template - Bilder in der Artikelansicht zu klein Templates für JTL-Shop 6
Neu JTL Shop 5 - Keine Bilder der Unterkategorie in mobiler Ansicht JTL-Shop - Fehler und Bugs 8
Neu Bilder werden im Shop nicht konvertiert & angezeigt Installation / Updates von JTL-Shop 2
Neu Kategorie Bilder im JTL 5 Shop größer Anzeigen lassen Allgemeine Fragen zu JTL-Shop 2
Neu Bilder werden nicht dargestellt Einrichtung von JTL-Shop4 26
Neu Variationen / Varkombis Bilder Onlineshop-Anbindung 1
Neu Shopify - Bilder werden nicht Übertragen Shopify-Connector 0
Neu Bilder für Onlineshop in bestimmten Kategorien aktivieren User helfen Usern - Fragen zu JTL-Wawi 3
Neu JTL Bilder Import deutlich beschleunigen Shopware-Connector 13
Neu Bilder import Dynamische Adressen User helfen Usern - Fragen zu JTL-Wawi 4
Neu WaWi Artikel Bilder ebay User helfen Usern - Fragen zu JTL-Wawi 1
Neu Bilder werden einfach nicht aktualisiert JTL-Wawi - Fehler und Bugs 2
Neu Wie funktioniert Kategorien und Produkte Bilder Import / Export ? Technische Fragen zu den JTL-Connectoren 0
Neu Bilder werden vereinzelt im Shop 4 nicht angezeigt Allgemeine Fragen zu JTL-Shop 0
Neu Bilder mit geringer Auflösung finden Betrieb / Pflege von JTL-Shop 3
Neu JTL Shop 5 - Bildformat Square - Nur quadratische Bilder möglich?! JTL-Shop - BETA - Feedback und Bugmeldungen 8
Neu Bilder steuern die zu google exportiert werrden Allgemeine Fragen zu JTL-Shop 0
Gelöst Kein Export der Artikel ohne Bilder möglich JTL-Ameise - Fehler und Bugs 2
Neu Bilder von Variations-Werten in eBay Designvorlage ausgeben eBay-Designvorlagen - Ideen, Lob und Kritik 2
Neu Globale Bilder (z.B. Testurteile/Siegel) bei ausgewählten Artikeln hinterlegen User helfen Usern - Fragen zu JTL-Wawi 2
Neu Bilder von Variationen / Var. Kombis in Shop und Amazon. Wie richtig einstellen? User helfen Usern - Fragen zu JTL-Wawi 16
Neu Neue Bilder werden seit 1.5.31.0 nicht mehr (immer) gedruckt Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu Bilder kommen nicht in meinen Woocommerce Shop rein WooCommerce-Connector 1
Neu keine Bilder in JTL-POS Allgemeine Fragen zu JTL-POS 2
Neu Bilder werden nicht immer an Shop übertragen WooCommerce-Connector 0
Neu Bilder in Plugin-Template importieren Plugins für JTL-Shop 2
Neu Bilder importieren CSV Einrichtung / Updates von JTL-POS 3
Neu Priorisierung vom Lager Arbeitsabläufe in JTL-Wawi 0
Neu Sendungsnummer und Gewicht vom Packtisch exportieren JTL-Ameise - Ideen, Lob und Kritik 0
Gelöst Artikel Umlagerung vom Standard-Lager -> WMS Lager Installation von JTL-WMS / JTL-Packtisch+ 4
Neu Vom Kleinunternehmen zur Steuer User helfen Usern - Fragen zu JTL-Wawi 1
Gelöst Vom Standartlager ins WMS - vorhandene Artikel auf Lagerplätze buchen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Neu Wawi bircht beim Übertragen in den Shop ab - Die Verbindung wurde vom WebServer abgebrochen JTL-Wawi - Fehler und Bugs 4
Gelöst Wartungsseite im Shop5/vom Backend zum Shop JTL-Shop - BETA - Feedback und Bugmeldungen 9
Neu Fehler beim importieren vom Template Themeart User helfen Usern - Fragen zu JTL-Wawi 0
Neu vom Ticket zum Kunden (F5) springen Servicedesk (Beta) 1
Neu Workflow Retouren - alle aufgenommenen Positionen auslesen - unabhängig vom Lieferscheinbezug User helfen Usern - Fragen zu JTL-Wawi 0
Neu Probleme mit JTL-Shop- und RDP-Hosting vom 9.12. auf 10.12.2020 News, Events und Umfragen 0
Neu Shop Videos ( Youtube, oder vom eigenen Server) Allgemeine Fragen zu JTL-Shop 3
Neu Keine unterscheidlichen Preise für WAWI und Onlineshop - automatisches Übernehmen vom gleichen Preis Arbeitsabläufe in JTL-Wawi 3
Neu Zahlungsart Amazon Pay nachdem Update vom 02.11.2020 plötzlich doppelt hinterlegt User helfen Usern - Fragen zu JTL-Wawi 0
Neu Druck vom Kassenbon dauert lange Fragen rund um LS-POS 0
Ähnliche Themen