Mindestbestellwert festlegen

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
Antworten
gysmo
Beiträge: 3
Registriert: 15.03.2011, 20:27

Mindestbestellwert festlegen

Beitrag von gysmo »

Hallo!

Leider habe ich hierzu bislang keine hilfreichen Infos finden können. Vielleicht bekomme ich hier Hilfe.

Ich betreibe einen MyOOS Shop V1.6.17. In diesem Shop möchte ich gern einen Mindestbestellwert festlegen. Dem Kunden soll möglichst im Warenkorb angezeigt werden, dass er den Mindestbestellwert noch nicht erreicht hat. Ein Abschließen des Bestellvorganges sollte dann auch nicht möglich sein. Betreffen soll dies nur den Gesamtbetrag. Wie viele einzelne und verschiedene Produkte sich im Warenkorb befinden spielt dabei keine Rolle.

Vielen Dank im Voraus für eure Bemühungen! ;)
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

das MyOOS Projekt geht den Weg - jeder Kunde ist uns wichtig und verzichtet auf einen Mindestbestellwert. Man kann aber
mit einem Mindermengenzuschlag und mit hohen Versandgebühren verhindern, das ein Kunde bestellt.

Sollte dies nicht aussreichen kann man sich mit ein zwei Zeilen PHP - verhindern, das ein Kunde bestellen kann.

Zum Verstädnis. In jeder Page
~/shop/includes/pages/*.php

laden wir mit

Code: Alles auswählen

  include OOS_INCLUDES . 'oos_system.php';
  if (!isset($option)) {
die Datei ~/shop/includes/oos_system.php

Hier steht in dem PHP

Code: Alles auswählen

  $cart_count_contents = $_SESSION['cart]->count_contents();
  if ($cart_count_contents > 0) {
    $cart_show_total = $oCurrencies->format($_SESSION['cart]->show_total());
  }
  $smarty->assign('cart_show_total', $cart_show_total);
So steht in dem Templates in
{$cart_show_total} der Wert vom Warenkorb.

in jedem PHP Script steht nach

Code: Alles auswählen

  include OOS_INCLUDES . 'oos_system.php';
  if (!isset($option)) {
in der Variablen

Code: Alles auswählen

$cart_show_total 
der Warenkorb Wert.


Wenn man nun im Kassenbereich verhindern möchte, dass Kunde bestellen kann,
fürgen wir in
~/shop/includes/oos_define.php

Code: Alles auswählen

  define('MINDESTBESTELLWERT',   '1.00');
ein und in den Scripten unter
~/includes/pages/checkout.php

prüft man den Wert und leiter auf den Warenkorb weiter.

hoffe die Antwort war aussreichend

ralf
gysmo
Beiträge: 3
Registriert: 15.03.2011, 20:27

Beitrag von gysmo »

Hallo Ralf!

Vielen Dank für die Antwort und die ausführliche Erklärung. Leider reichen meine PHP Kenntnisse nicht dafür aus, um eine solche Abfrage zu erstellen. Könntest du mir dabei bitte noch behilflich sein? Ich wäre dir sehr dankbar!

Viele Grüße,
Mike!
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

mit

Code: Alles auswählen

$_SESSION['cart]->show_total()
holst du in den Scripten den Warenkorb wert:

einfach in einer ~/inlcudes/pages/*.*

Code: Alles auswählen

echo $_SESSION['cart]->show_total();
einfügen.

Im Matheuntericht lernten wir kleiner oder größer <>

Somit prüfen wir mit

Code: Alles auswählen

  if ($_SESSION['cart]->show_total() < MINDESTBESTELLWERT) {
   echo  'ätsch';
  }
den Wert. vom Warenkorb. Sollte der Betrag im Warenkorb kleiner als MINDESTBESTELLWERT sein
erhalten wir 'ätsch';

Funktioniert dies soweit - erstellen wir eine Weiterleitung auf den Warenkorb

Code: Alles auswählen

    oos_redirect(oos_link($aModules['main], $aFilename['main_shopping_cart]));
und wir benötigen einn Hinweis für den Kunden

Code: Alles auswählen

$_SESSION['error_cart_msg] = 'ätsch wir liefern erst ab einem Warenwert von 1 Mil. Euro';

Code: Alles auswählen

  if ($_SESSION['cart]->show_total() < MINDESTBESTELLWERT) {
   $_SESSION['error_cart_msg] = 'ätsch wir liefern erst ab einem Warenwert von 1 Mil. Euro';
    oos_redirect(oos_link($aModules['main], $aFilename['main_shopping_cart])); 
  }
Diese Zeilen fürgen wir in alle Scripte unter
~/shop/includes/pages/checkout/*.php

aber nicht in success.php

Sinnvoll ist dies nach der Prüfung, ob der Kunde angemeldet ist:

Code: Alles auswählen

  if (!isset($_SESSION['customer_id])) {
    $_SESSION['navigation]->set_snapshot();
    oos_redirect(oos_link($aModules['user], $aFilename['login], '', 'SSL'));
  }
nach diesen Zeilen fügen wir ein

Code: Alles auswählen

  if (!isset($_SESSION['customer_id])) {
    $_SESSION['navigation]->set_snapshot();
    oos_redirect(oos_link($aModules['user], $aFilename['login], '', 'SSL'));
  }

  if ($_SESSION['cart]->show_total() < MINDESTBESTELLWERT) {
   $_SESSION['error_cart_msg] = 'ätsch wir liefern erst ab einem Warenwert von 1 Mil. Euro';
    oos_redirect(oos_link($aModules['main], $aFilename['main_shopping_cart])); 
  }
nicht geprüft und nicht getestet.

Reicht dies an Anleitung?

cu

ralf
Antworten