Neu Produktdetails Variationen anzeigen

so-einfach

Gut bekanntes Mitglied
13. Mai 2014
297
16
Möchte gerne auf der Produktdetailsseite die Schaltfläche " In den Warenkorb" sofort anzeigen ohne eine Auswahl treffen zu müssen. Der Standadtext sollte auch dann nicht erscheinen.


upload_2018-6-4_20-13-24.png
 

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.245
1.522
Aber wenn der Kunde nicht auswählt welche Variante er haben möchte, was soll dann in den Warenkorb gelegt werden?

Was EVENTUELL über eine Templateanpassung möglich wäre - direkt hinter der entsprechenden Variation einen Warenkorbbutton einbauen.
Dann hast du aber bei vielen Variationen auch entsprechend viele Warenkorbbuttons und der Kunde könnte den Artikel immer nur 1x gleichzeitig in den Warenkorb packen weil es dann kein Feld für die Menge gibt.

Allerdings bin ich kein Programmierer oder Entwickler und kann daher nicht zu 100% sagen ob diese Idee überhaupt klappt.
 

so-einfach

Gut bekanntes Mitglied
13. Mai 2014
297
16
Wenn der Kunde nichts auswählt kommt sowieso "Wählen Sie eine dieser Optionen aus." Es ist für mich einfach schöner und benutzerfreundlicher! Habe es in einem anderen JTL Shop schon gesehen.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
529
Halle
Das könnte man ggfs. mit Javascript lösen. Dazu in eine JS-Datei im eigenen Child-Template (z.B. die custom.js) folgenden Code eingeben:
JavaScript:
(function ($) {
    'use strict';

    $(window).on('load', function () {
        $('.product-offer .variations select').each(function (index, item) {
            if (item.selectedIndex === 0) {
                item.selectedIndex = 1;
                $(item).change();
            }
        });
        if ($('.product-offer .variations .variation input[type="radio"][checked]').length === 0) {
            $('.product-offer .variations .variation:first-child input[type="radio"]').prop('checked', 'checked').change();
        }
    });
})(jQuery);
Damit wird beim Laden der Detailseite für alle Variations-Selectboxen, Radiobuttons und Swatches jeweils der erste Eintrag ausgewählt und bei einer Varkombi dann das Kind neu geladen.

Achtung!!!
Das ist ungetestet und nur als Lösungsansatz zu verstehen. U.U. kann das bei bestimmten Einstellungen (Sichtbarkeit und Auswahl von Variationen) zu Endlosschleifen führen, wenn der erste Eintrag ausverkauft ist!
 
  • Gefällt mir
Reaktionen: ecki

dennismenken

Mitglied
19. September 2019
11
0
Das könnte man ggfs. mit Javascript lösen. Dazu in eine JS-Datei im eigenen Child-Template (z.B. die custom.js) folgenden Code eingeben:
JavaScript:
(function ($) {
    'use strict';

    $(window).on('load', function () {
        $('.product-offer .variations select').each(function (index, item) {
            if (item.selectedIndex === 0) {
                item.selectedIndex = 1;
                $(item).change();
            }
        });
        if ($('.product-offer .variations .variation input[type="radio"][checked]').length === 0) {
            $('.product-offer .variations .variation:first-child input[type="radio"]').prop('checked', 'checked').change();
        }
    });
})(jQuery);
Damit wird beim Laden der Detailseite für alle Variations-Selectboxen, Radiobuttons und Swatches jeweils der erste Eintrag ausgewählt und bei einer Varkombi dann das Kind neu geladen.

Achtung!!!
Das ist ungetestet und nur als Lösungsansatz zu verstehen. U.U. kann das bei bestimmten Einstellungen (Sichtbarkeit und Auswahl von Variationen) zu Endlosschleifen führen, wenn der erste Eintrag ausverkauft ist!

Der beste Hot Fix, den ich zu diesem Thema gefunden habe.