ich habe für unsere neuen digitalen Produkte eine kleine Formularerweiterung in den cart-drawer.liquid geschrieben:
{% assign ist_digital = false %}
{% if item.product.tags contains 'digital' %}
{% assign ist_digital = true %}
{% endif %}
{% if ist_digital %}
<p class="kleiner">
<input type="hidden" name="cart[Widerrufsverzicht]" value="Nein">
<input type="checkbox" name="cart[Widerrufsverzicht]" value="Ja" id="widerrufsverzicht" required>
<label for="widerruf">
Ich stimme zu, dass die Ausführung des Vertrags beim Kauf dieses Produktes vor Ablauf der Widerrufsfrist beginnt und ich mein Widerrufsrecht verliere.
</label>
</p>
{% endif %}
Lege ich den Artikel in den Warenkorb, erscheint die Checkbox wie sie es auch soll und gibt eine Meldung aus, wenn ich auf ‘Zur Kasse‘ klicke ohne die Checkbox zu aktivieren. So weit, so gut! Setze ich das Häkchen und klicke auf ‘Zur Kasse‘ erscheint aber folgendes neben der Checkbox: ‘Du kannst diesen Artikel nur in Abstufungen von hinzufügen‘. Da es ein digitales Produkt ist, kann ich sowieso nur die Menge 1 nehmen.
Hat vielleicht irgendjemand eine Ahnung, wieso das so ist? Wo mein Fehler liegt?
try a bare minimum cart attribute, and then you can add to it if it’s successful:
{% if item.product.tags contains 'digital' %}
<input type="checkbox" name="cart[digital_consent]" value="Ja" id="widerrufsverzicht">
<label for="widerrufsverzicht">
Ich stimme zu, dass die Ausführung des Vertrags beim Kauf dieses Produktes vor Ablauf der Widerrufsfrist beginnt und ich mein Widerrufsrecht verliere.
</label>
{% endif %}
Then if it doesn’t give you an error, you can add the hidden back in:
{% if item.product.tags contains 'digital' %}
<input type="hidden" name="cart[digital_consent]" value="Nein">
<input type="checkbox" name="cart[digital_consent]" value="Ja" id="widerrufsverzicht">
<label for="widerrufsverzicht">
Ich stimme zu, dass die Ausführung des Vertrags beim Kauf dieses Produktes vor Ablauf der Widerrufsfrist beginnt und ich mein Widerrufsrecht verliere.
</label>
{% endif %}
This is only rendering the snippet on the cart page. There is no “IF tag is ___”, so it will work with all products. If you want to add the tag condition, you can do wrap the render in the IF statement. Also, this is only on cart page. If you want it on the cart drawer, you need to do Step 4 in the drawer file.
Unfortunately not. Checkout is restricted for non-plus plans. But If you set it up where you have to go through the cart/drawer in order to reach checkout, I think that would be acceptable (not legal advise lol), you would just need to disable any express checkout option on your site that bypasses the cart. Regards