kann mir jemand weiterhelfen, wie ich einen Mindestbestellwert für den Warenkorb in Shopware 6 realisieren kann? Irgendwie habe ich da ein Brett vor dem Kopf.
In Shopware 5 gab es das wohl noch bei den Kundengruppen.
Meine Überlegung ist, dass mit einer Rule umzusetzen. Es gibt da ja schon eine rule „Cart >= 0“, die man ja problemlos anpassen kann,
Wie aber kann ich zum Beispiel im eigenen Theme im Cart (und im offcanvas cart) dafür sorgen, dass der Button „Weiter zur Kasse“ nicht angezeigt wird, wenn diese rule nicht erfüllt ist?
So, ich habe jetzt obige Idee umgesetzt, etwas quick and dirty, aber es funktioniert zumindest. Für die, die es interessiert:
Im eigenen Theme Plugin (…/custom/plugins/MyTheme/src/Resources/views/storefront/page/checkout/cart/index.html.twig):
{% sw_extends '@Storefront/storefront/page/checkout/cart/index.html.twig' %}
{% set minimumOrderValueReached = false %}
{% for key,value in context.ruleIds %}
{% if value=='e1378db7808a478f919e0d740d5d6c1a' %}
{% set minimumOrderValueReached = true %}
{% endif %}
{% endfor %}
{% block page_checkout_cart %}
{% if not minimumOrderValueReached %}
{% sw_include '@Storefront/storefront/utilities/alert.html.twig' with {
type: "info",
content: "checkout.minimumOrderValueNotReached"|trans|sw_sanitize
} %}
{% endif %}
{{ parent() }}
{% endblock %}
{% block page_checkout_cart_action_proceed %}
{% if minimumOrderValueReached %}
{{ parent() }}
{% endif %}
{% endblock %}
und in ./custom/plugins/MyTheme/src/Resources/views/storefront/component/checkout/offcanvas-cart.html.twig:
{% sw_extends '@Storefront/storefront/component/checkout/offcanvas-cart.html.twig' %}
{% set minimumOrderValueReached = false %}
{% for key,value in context.ruleIds %}
{% if value=='e1378db7808a478f919e0d740d5d6c1a' %}
{% set minimumOrderValueReached = true %}
{% endif %}
{% endfor %}
{% block component_offcanvas_cart_flashbags %}
{% for type, messages in app.flashes %}
{% sw_include '@Storefront/storefront/utilities/alert.html.twig' with {
type: type,
list: messages
} %}
{% endfor %}
{% if not minimumOrderValueReached %}
{% sw_include '@Storefront/storefront/utilities/alert.html.twig' with {
type: "info",
content: "checkout.minimumOrderValueNotReached"|trans|sw_sanitize
} %}
{% endif %}
{% endblock %}
{% block component_offcanvas_cart_actions_checkout %}
{% if minimumOrderValueReached %}
{{ parent() }}
{% endif %}
{% endblock %}
Quick & dirty, weil ich die ID der rule (e1378db7808a478f919e0d740d5d6c1a) hier direkt reingesetzt habe.
Im übrigen muss hier noch der Textbaustein „checkout.minimumOrderValueNotReached“ (" Der Mindestbestellwert ist noch nicht erreicht. ") im Backend über Einstellungen => Shop => Textbausteine erzeugt werden.
Tja, immer nach dem SW Motto warum einfach wenn´s auch kompliziert geht.
Mindestbestellwert Funktion ist Kinderkram für jeden prof. Shop und sollte in der Basis funktionsfähig bereit stehen. Aber nö, lieber ein Rule Spagat austesten, ein Plugin kaufen (bis dann irgendwann die 4 Dutzend o.m. erreicht sind und alles im Kompa-Chaos endet und Updates künstlich verzögert werden), oder eben Programmierkentnisse ausprobieren und vertiefen ;-).
kann man das nun über den Rule Builder abbilden oder wie? Würde auch gerne einen Mindestbestellwert in SW 6 einrichten. Das müsste doch in den Basics einstellbar sein. Kann doch nicht sein, dass man dies programmieren muss??
Danke, das sollte meiner Meinung nach über den Rule Builder gehen, aber keine gescheite Anleitung oder ein Beispielt dafür seitens Shopware. Drin ist es ja im Rule Builder aber wie genau die Konfig aussieht ist nirgends geschrieben.
über den RuelBuilder geht es nicht - ich hab’s zumindest nicht geschafft (was nicht heißt, dass es trotzdem gehen könnte).
Ich würde das Template bearbeiten, wie weiter oben beschrieben.
Du kannst es etwas variieren, wenn du möchtest, aber von der Vorgehensweise ist es im Prinzip wie dort aufgeführt.
Unabhängig davon, sollte ein Mindestbestellwert eigentlich in einem Shopsystem per default vorhanden sein.
Ist ja von der Umsetzung her nun wirklich eine banale Anforderung.
Quick & dirty, weil ich die ID der rule (e1378db7808a478f919e0d740d5d6c1a) hier direkt reingesetzt habe.
Im übrigen muss hier noch der Textbaustein „checkout.minimumOrderValueNotReached“ (" Der Mindestbestellwert ist noch nicht erreicht. ") im Backend über Einstellungen => Shop => Textbausteine erzeugt werden.
Hallo, hat sich hier inzwischen irgendetwas getan? Gibt es inzwischen eine Möglichkeit, einen Mindestbestellwert anzulegen, ohne das man gleich ein PlugIn kaufen oder programmieren muss?
Servus,
habe heute erst upgedatet, vielleicht bekommt man das mit dem neuen Flow Builder hin?!
Ansonsten finde ich das auch komisch, für so grundlegende Funktionen eine App kaufen zu müssen,
was ich aber gemacht habe.
Ich habe im Rulebuilder die Bedingungen Warenkorbwert Größer/gleich „X“ gewählt, die jeweilige Kundengruppe und dann eben bei Einstellungen → Zahlarten, einer Zahlart beigefügt. Sollte so klappen.
Ich habe das ähnlich gelöst nur mit den Versand Arten. Ist Betrag unter x versandt aus…
Stellt man Vorkasse aus kommt der Hinweis „für Ihre Methode gesperrt“ dies habe ich über die Textbausteine angepasst mit Mindestbestellwert noch nicht erreicht.
Funktioniert halt nur, wenn mann generell einen Mindestbestellwert nutzt. An die kundengruooen habe ich gar nicht gedacht. Aber dann müsste man ja bei unterschiedlichen moq die Nutzer auf verschiedene Kundengruppen zuweisen. Könnte aber ne gute Lösung sein, wenn man Gross Kunden und normale Kunden trennen möchte
Kannst du noch zeigen wie bzw. was du in deiner Rule eingestellt hast?
Hilfreich wäre natürlich zu zeigen, wie hoch der Mindestbestellwert ist - oder mache ich das am Besten über den Textbaustein?
Hab leider keinen Zugriff mehr auf meinen klaks-Account. Deshalb hier drüber.
Das im Bild ist die Rule, deren ID ich im Code oben eingesetzt habe. Die ID bekommst Du aus der Datenbank, Tabelle rule.
wir stolpern auch gerade über das Thema. Es gibt nur die Zahlungsmethode Vorkasse und diese hat eine Bedingung das die Zwischensumme >= 70 sein muss… er wirft im Warenkorb auch einen Fehler das die Zahlungsart nicht verfügbar ist, ABER man kann das ignorieren und trotzdem die Bestellung abschicken?!? Ist das bei euch anders?