Hallo Community, hab da mal eine Frage. Kann man den Mindestbestellwert auf bestimmte Artikel (Kategorien) begrenzen? Bei den meistens Artikeln ist das schon OK., aber ich hab auch Download-Artikel. Da möchte ich keinen Mindestwert. Wenn man was programmieren müsste, wäre ich dankbar für Tips, wo man ansetzen könnte. Ich hoffe Ihr könnt helfen… Danke Reload
Hallo, ich nochmal. Wollte nochmal anfragen ob keiner von Shopware mir helfen kann. Ist mir echt wichtig eine Lösung zu finden. Danke Reload
Wenn im Standard die Funktion nicht vorgesehen ist, kann man dafür ein Plugin schreiben. Ist nicht schwierig.
Hallo Waldicom, vielen Dank für deine Antwort. Ich kann zwar programmieren, habe aber noch nie ein Plugin für Shopware erstellt. Vieleicht kannst du mir da mal eine Starthilfe geben? Gruß Reload
Hallo Community, ich versuche mich gerade an einem Plugin. Ich habe des Event “Enlight_Controller_Action_PostDispatch_Frontend_Detail” abonniert. Dann wird etwas aus dem Warenkorb gelöscht. Das funktioniert soweit auch ganz gut. In der s_order_basket kann ich sehen, das der Artikel aus dem Warenkorb raus ist, aber leider nicht auf der Webseite. Hab ich das falsche Event abonniert oder muss ich nach dem löschen noch irgend etwas anderes machen? Wäre natürlich wünschenswert, das der Kunde den gelöschten Artikel erst gar nicht zusehen bekommt. Wäre toll, wenn mir jemand einen Tip geben könnte. Gruß Reload
Hallo, auch auf die Gefahr hin, das das hier ein Monolog wird… Ich es hab nun so realisiert, dass ich den Mindestbestellwert selbst in den Warenkorb lege. Das klappt auch soweit ganz gut.:happy: Wenn man sich dann aber den Warenkorb ansieht und ihn so verändert, dass kein Mindermengenzuschlag mehr nötig ist, klappt das zwar auch (s_order_basket), wird aber leider erst nach einer Aktualisierung angezeigt.:x Wie bekomme ich dies sofort hin, also ohne auf “Aktualisierung” im Browser klicken zu müssen. Wäre schön, wenn mir jemand helfen könnte. Gruß Reload
Meinst Du den Warenkorb oben rechts? Den kann mit mit dem Javascript Aufruf aktualisieren: $.basket.getBasket(); $.basket.refreshDisplay();
Hallo Waldicom, ich meine den Warenkorb, den du zu sehen bekommst, wenn du auf Warenkorb klickst. Hast du dafür auch einen Tip? Wenn ja, dann wäre es gut, wenn du mir zeigen könntest, wie man JS in ein Plugin-PHP einbindet bzw. aufruft. Danke Reload
[quote=“reload”]Hallo Waldicom, ich meine den Warenkorb, den du zu sehen bekommst, wenn du auf Warenkorb klickst. Hast du dafür auch einen Tip? Wenn ja, dann wäre es gut, wenn du mir zeigen könntest, wie man JS in ein Plugin-PHP einbindet bzw. aufruft. Danke Reload[/quote] Ähmm… Geht es um den Miniwarenkorb? Du kannst dieses Plugin herunterladen: http://store.shopware.de/template-design/miniwarenkorb In dem sieht man auch ganz gut, wie der Miniwarenkorb aktualisiert werden kann und überhaupt, wie man Javascript aus einem Plugin aufrufen kann.
Hallo Waldicom, ich werde es mir mal anschauen… Danke Reoload
Hallo Waldicom, ist leider wohl nicht ganz das gleiche. Ich meine nicht den Miniwarenkorb sondern den normalen. Den möchte ich gerne „updaten“ nachdem ich einen Artikel entfernt habe. Hast du da noch was hilfreiches für mich? Gruß Reload
OK, aber der normale Warenkorb wird ja automatisch aktualisiert, sobald man die Menge ändert oder einen Artikel löscht. Das ist zumindest im Standard so. Wird der Warenkorb bei Dir nicht aktualisiert, wenn Du einen Artikel löschst?
Hallo Waldicom, klar wird er das normalerweise. Aber ich lösche den Artikel von Plugin aus und danach wird leider nix aktualisiert. D.h. ich muss ihn dazu kriegen auf den Warenkorb ein Refresh zu machen, sonst sieht man die Veränderung nicht. Gibt’s da nichts in PHP um die “aktuelle Seite” zu refreshen? Vielleicht hat die Klasse Basket ja auch ein Refresh oder Reload. Ich steh da im Moment ein bisschen auf dem Schlauch. Danke Reload
Ähmm… Ich hoffe ich verstehe richtig, was Du willst. Es gibt in der Klasse „Action“ solche Methoden wie „redirect“ oder „forward“. Meinst du die? Auch mit php kann man den user weiterleiten (mit header()), das würde ich aber nicht machen. Dann lieber die redirect() Methode benutzen
Hallo Waldicom, erst einmal möchte ich mich bei Dir bedanken, dass du dir die Zeit nimmst um mir zu helfen. Ich erkläre vielleicht nochmal mein Problem. Man füllte den Warenkorb ganz normal über den Einkaufsvorgang. Zum Schluss geht man in den Warenkorb und zu prüfen ob alles OK. ist. Da setzt mein Plugin an. Wenn man in der Artikelübersicht steht und z.B. einen Artikel löscht, kann es sein (bei mir) das du keinen Mindermengenzuschlag zahlen musst. Das prüft mein Plugin und löscht dann den Mindermengenzuschlagsartikel (was für ein Wort). Das geht auch soweit. Ich kann in der s_order_basket sehen, das der Artikel rausgelöscht ist. Nur leider sieht man es nicht am Bildschirm. Man muss die Seite erst mit F5 aktualisieren. Schöner ist es natürlich wenn ich das aus PHP heraus machen könnte (evtl. auch JS mit Hilfe). Ich hoffe, ich habe mein Problem gut genug rübergebracht. PS. habe nun mal das folgende ausprobiert: 1. header(“Location: url”); 2. header(“refresh:0;url=url”); Leider funktioniert der erste gar nicht und der zweite permanent. In url stegt natürlich “https://www…” Was ist daran nicht OK? Gruß Reload
Hallo Leute, möchte noch mal pushen. Bin eigentlich soweit fertig. Nur mein Problem mit dem Refresh des Warenkorbs ist leider immer noch vorhanden. Hat jemand noch etwas schlaues für mich? Wäre echt super. Gruß Reload
Hallo Reload, spontan fallen mir ein paar Lösungen ein. Die erste Idee ist das Du anstelle des Events Enlight_Controller_Action_PostDispatch_Frontend_Detail das Event Enlight_Controller_Action_PreDispatch_Frontend_Detail verwendest (Post gegen Pre ausgetauscht). Dieser Event wird *vor* der Anzeige ausgeführt. Sauberer wäre es, wenn Du dich mit einem Hook ( siehe Einführung Hook-System ) z.B. vor die sGetBasket() Methode in der sBasket Klasse setzt und dann dort den Artikel entfernst. Ich hoffe das hilft dir das Problem zu lösen.
Hallo, ich werde mir das mal genauer ansehen. Vielleicht hast du ja recht mit dem Hook. Danke Reload
Hallo JSchwehn, du hast mein Problem gelöst. Enlight_Controller_Action_PreDispatch_Frontend_Checkout war die Lösung. Tausend Dank, es sieht so aus, als ob alles so läuft, wie ich es mir vorstelle. Dank auch an Ottscho für die Hilfe. Bis dann Reload
Hallo Reload, das Thema ist zwar nun schon etwas älter, aber könntest du ggf. die Lösung auch für uns zur Verfügung stellen? Wir sind aktuell (noch für die Shopware 4 Version) auf der Suche nach dieser Lösung.