Checkout - AGB Checkbox deaktivieren

Guten Tag,

 

ist es möglich durch eine Einstellung oder ein Plugin die AGB-Checkbox im Checkout zu deaktivieren? Oder geht das nur durch Programmierung?

 

Freundliche Grüße

Jasper Borkmann,ECOMAI

geht nur durch Programmierung, aber ich bin dran :wink: hast du etwas inden 18 Monaten rausfinden können?

geht
Custom Template Inhalt von /page/checkout/confirm/index.html.twig

{% block page_checkout_confirm_tos_control_checkbox %}
    <input type="checkbox" checked="" style="display:none;"
           class="checkout-confirm-tos-checkbox custom-control-input{% if formViolations.getViolations('/tos') is not empty %} is-invalid{% endif %}"
           required="required"
           id="tos"
           form="confirmOrderForm"
           name="tos"/>
{% endblock %}
3 „Gefällt mir“

Hey futureplex,

erst einmal Danke für den Tipp. Was dieser Code bei mir bewirkt hat war, dass die Checkbox schon vorab angehakt war. Das war schonmal ein guter Anfang. Was ich jedoch noch machen musste war die Checkbox noch mit etwas CSS auszublenden:

`   .checkout-confirm-tos-label::before {
                display: none;
             }`

Vielleicht hilft es ja jemandem weiter :slight_smile:

Mit freundlichen Grüßen,
Atilla

1 „Gefällt mir“

Danke euch,
Händlerbund hat mich auch dazu bewegt diese Abfrage auszublenden.
Angeblich wäre Händlerbund und Shopware in engem Kontakt. Warum dann solche eine unsinnige Default einstellung.

Nun gut. den Block in die twig. super.
Leider hat das CSS nicht funktioniert.
Nach ein wenig probieren, läuft es bei mir jetzt mit diesem Code:

/* Ausblenden der AGB-Abfrage mit Checkbox*/
.checkout-confirm-tos-checkbox, .checkout-confirm-tos-label {
display: none;
}

vg Tom

Ich weiß, das ist ein uralter Thread… Aber auf den letzten (Kilo-)Metern zum Ziel mit Shopware 6 bin ich bei den Testbestellungen auf das leidige Thema AGB-Checkbox gekommen.

In Shopware 5 konnte man die Checkbox mit einem klick im Backend deaktivieren - und bei Shopware 6 brauchste dafür wieder nen Flux-Kompensator… Echt leute, wieso?

Die von den Kollegen genannten Twig-Anpassungen funktionieren ja schön, sie blenden die Checkbox aus und vorangeklickt ist sie auch schon.

Soweit so gut - aber! Wenn ein Kunde irgendwo in den Text von {% block page_checkout_confirm_tos_control_label %} klickt, macht er den Haken aus der Checkbox und kann nicht mehr bestellen. Kommt nicht oft vor? Kann aber und ist ein Conversion-Killer, da der Kunde mit der Twig-Anpassung die olle Checkbox ja nicht mehr sieht!

Des Rätsels Lösung ist noch etwas Twig und css, das ich gerne mit allen interessierten Teilen möchte:

{% sw_extends '@Storefront/storefront/page/checkout/confirm/index.html.twig' %}
{% block page_checkout_confirm_tos_control %}
    <div class="form-check-agb">  {# Klasse umbenannt #}
        {% block page_checkout_confirm_tos_control_label %}
             <label class="checkout-confirm-tos-label custom-control-label">
                {{ 'checkout.confirmTermsText'|trans({
                 '%url%': path('frontend.cms.page', { id: config('core.basicInformation.tosPage') })
                 })|raw }}
            </label>
        {% endblock %}
        
        {% block page_checkout_confirm_tos_control_checkbox %}
            <input type="checkbox"
                   class="checkout-confirm-tos-checkbox form-check-input{% if formViolations.getViolations('/tos') is not empty %} is-invalid{% endif %}"
                   required="required"
                   id="tos"
                   form="confirmOrderForm"
                   name="tos"
                   aria-labelledby="tos-label"
                   checked="checked"> {# Checkbox ist ausgewählt #}
        {% endblock %}
    </div>
{% endblock %}

Als erstes bekommt die div class nen neuen Namen, damit man das Label vor die Checkbox setzen kann. Die Checkbox kommt somit nach unten im Code und sitzt sodann rechts vom Label, damit die nicht links unsichtbar ist und so vor unserem Label ein unschöner Platzhalter lauert.

Dann habe ich dem Label seine Verknüpfung zu „tos“ entfernt, damit keine Klick-Verbindung mehr zur Checkbox besteht.

Dazu noch etwas css:

.form-check-agb {
    display: block;
    min-height: 1.3125rem;
    padding-left: 0rem;
    margin-bottom: 0.125rem;
}

.form-check-agb .checkout-confirm-tos-checkbox {
    display: none;
    pointer-events: none;
}

.checkout-confirm-tos-checkbox, .checkout-confirm-tos-label {
    cursor: default !important;
}

Einmal Design, dann das die Checkbox unsichtbar ist und nicht geklickt werden kann und darunter wird die Cursor-Veränderung auf den Zeigefinger entfernt, die entstünde, wenn man über die Label-Beschreibung fährt (damit niemand denkt, hier gäbe es was zu klicken). Bei der Ajax-Modalbox für die AGB-Infos bleibt alles gewohnt beim alten.