Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MODUL: Mindestbestellmenge und Mindermengenzuschlag mit Hinweistext

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Wenn man im Shop einen Mindermengenzuschlag erheben möchte, so wird dieser erst am Ende der Bestellung aufgerechnet. Damit der Kunde aber weiss, dass er etwas mehr bezahlen muss, wenn er Summe XX nicht erreicht hat, dann empfehle ich diese Erweiterung.

    Als erstes gehe in den Adminbereich und gehe auf Kundengruppen. Hier gibst Du bei bearbeiten der Gruppe einen Mindestbestellwert von SUMME XX an. Jetzt könnte der Kunde aber erst dann bestellen, wenn er auch die Mindestmenge erreicht hat. Das ändern wir jetzt.

    Öffne die Datei shopping_cart.php im Shophauptverzeichnis und suche nach:

    Code: PHP  [Auswählen]
    // minimum/maximum order value
    $checkout = true;
    if ($_SESSION['cart']->show_total()> 0 ) {
     if ($_SESSION['cart']->show_total() <$_SESSION['customers_status']['customers_status_min_order'] ) {
     $_SESSION['allow_checkout'] = 'false';

    Ändern in:

    Code: PHP  [Auswählen]
    // minimum/maximum order value
    $checkout = true;
    if ($_SESSION['cart']->show_total()> 0 ) {
     if ($_SESSION['cart']->show_total() <$_SESSION['customers_status']['customers_status_min_order'] ) {
     // $_SESSION['allow_checkout'] = 'false';

    Jetzt kann der Kunde schonmal zur Kasse gehen. Um den Kunden noch einen Hinweis zugeben, erweitern wir die Sprachdatei und das Template.

    Die Hinweiserweiterung erreichen wir mit der german.php folgendermaßen:

    Öffne die german.php im Ordner lang/german und suche:

    Code: PHP  [Auswählen]
    define('MINIMUM_ORDER_VALUE_NOT_REACHED_2', ' leider noch nicht erreicht.<br />Bitte bestellen Sie für mindestens weitere: ');

    Darunter setzt Du dann:

    Code: PHP  [Auswählen]
    define('MINIMUM_ORDER_VALUE_NOT_REACHED_3', ' HIER DEIN HINWEISE TEXT ');

    Gehe jetzt wieder in shopping_cart.php und setze unter:

    Code: PHP  [Auswählen]
    $smarty->assign('info_message_3', MINIMUM_ORDER_VALUE_NOT_REACHED_3);

    Jetzt noch in templates/modules/shopping_cart.html folgendes suchen.

    Code: PHP  [Auswählen]
    {if $info_message_1!=''}<div class="errormessage">{$info_message_1}{$min_order}{$info_message_2}{$order_amount}</div>{/if}

    und damit abändern:

    Code: PHP  [Auswählen]
    {if $info_message_1!=''}<div class="errormessage">{$info_message_1}{$min_order}{$info_message_2}{$order_amount}{$info_message_3}</div>{/if}

    FERTIG. Nun hat der Kunde einen Hinweis, dass wenn er die Summe XX nicht erreicht einen Mindermengenzuschlag von XX extra bezahlen muss.

    Erweiterung von Darcore:

    Sucht mal in der checkout_shipping.php nach:

    Code: PHP  [Auswählen]
    //BOF - Dokuman - 2009-06-06 - checkout only if minimum order value is reached
    if ($_SESSION['cart']->show_total()> 0 ) {
      if ($_SESSION['cart']->show_total() <$_SESSION['customers_status']['customers_status_min_order'] ) {
        xtc_redirect(xtc_href_link(FILENAME_SHOPPING_CART));
      }
    }
    //EOF - Dokuman - 2009-06-06 - checkout only if minimum order value is reached

    Und den Redirect raus nehmen... Dann sollte es gehen!!!

    Code: PHP  [Auswählen]
    //BOF - Dokuman - 2009-06-06 - checkout only if minimum order value is reached
    if ($_SESSION['cart']->show_total()> 0 ) {
      if ($_SESSION['cart']->show_total() <$_SESSION['customers_status']['customers_status_min_order'] ) {
        //xtc_redirect(xtc_href_link(FILENAME_SHOPPING_CART));
      }
    }
    //EOF - Dokuman - 2009-06-06 - checkout only if minimum order value is reached

    Wer auch noch das ganze auf eine Kundengruppe beschränken möchte ändert noch die ot_loworderfee.php in includes\modules\order_total.

    Sucht nach:

    Code: PHP  [Auswählen]
        function ot_loworderfee() {
            global $xtPrice;
          $this->code = 'ot_loworderfee';
          $this->title = MODULE_ORDER_TOTAL_LOWORDERFEE_TITLE;
          $this->description = MODULE_ORDER_TOTAL_LOWORDERFEE_DESCRIPTION;
          $this->enabled = ((MODULE_ORDER_TOTAL_LOWORDERFEE_STATUS == 'true') ? true : false);
          $this->sort_order = MODULE_ORDER_TOTAL_LOWORDERFEE_SORT_ORDER;

          $this->output = array();

    und fügt folgendes an:

    Code: PHP  [Auswählen]
    if ($_SESSION['customers_status']['customers_status_id'] != 3) { // <- Mindermengenzuschlag nur für die Gruppe x zulassen
    $this->enabled = false;
    }


    Linkback: https://www.modified-shop.org/forum/index.php?topic=520.0

    Anonym

    • Gast
    Da verstehe ich aber eine Formulierung nicht:

    Du schreibst:
    Gehe jetzt wieder in shopping_cart.php und setzte unter:

    Code: PHP  [Auswählen]
    $smarty->assign('info_message_3', MINIMUM_ORDER_VALUE_NOT_REACHED_3);
    Äh was denn? Es geht dann bei dir so weiter:

    Jetzt noch in templates/modules/shopping_cart.html folgendes suchen.

    Fehlt da nicht was?

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    Hallo,

    ich hatte das hier schon einmal erfolgreich integriert, doch jetzt will es nicht mehr funktionieren.
    Es kommt zwar die Hinweismeldung, aber der Checkout wird geblockt.

    Habt Ihr bei Version 1.03 oder 1.04 irgendetwas verändert, was sich auf das hier auswirkte ?

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    Also, irgendetwas muss hier in Version 1.03 oder 1.04 verändert worden sein.

    Auch mit einem Backup der shopping_cart.php, bei der der Checkout trotz Unterschreitung des Mindestbestellwerts noch möglich war, funktioniert es nicht mehr.
    Der Warenkorb wird bei Klick auf Kasse nur neu geladen, aber es ist kein Checkout möglich.

    Wie man oben sehen kann, sind die Änderungen des "Moduls" auch minimalst, letztendlich sind nur zwei Zeilen in der shopping_cart.php zu verändern.
    Ein fehlerhafter Einbau ist deshalb unmöglich, andere Module kamen auch nicht hinzu - die Ursache muss systemseitig sein.

    web28

    • modified Team
    • Beiträge: 9.404
    Es wurde nur der Code für PayPal Express entfernt.

    Evtl. hast Du

    Code: PHP  [Auswählen]
    $_SESSION['allow_checkout'] = 'false';

    an der falschen Stelle auskommentiert (kommt 2 mal vor).

    Gruss Web28

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    Hallo Web28,

    genau, kommt 2x vor.
    Zu ändern ist die obere Stelle, habe es testweise aber auch einige Zeilen darunter versucht, Ergebnis gleich.

    Aber da der Hinweistext angezeigt wird, nur der Checkout über Kasse nicht funktioniert, war auch klar, dass die Stelle schon stimmte ;)

    Nachtrag: Es funktioniert auch in einer nackten Installation mit modified eCommerce Shopsoftware 1.04 nicht mehr.
    Gerade getestet, um andere Fehler zu 100% ausschließen zu können.

    web28

    • modified Team
    • Beiträge: 9.404
    Seltsam, das wird doch nur mit

    Code: PHP  [Auswählen]
    $_SESSION['allow_checkout']

    gesteuert.

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    Jupp, du sagst es, sehr seltsam.
    Getestet wurde auch mit verschiedenen Browsern.

    Code: PHP  [Auswählen]
    echo $_SESSION['allow_checkout'];

    liefert auch wie es sein soll "true".

    Kann es daran liegen, dass seit einigen Versionen allen möglichen Variablen ein "Standard-Wert" zugewiesen wurde. Meine also Änderungen wie "set undefined variable" - evtl. passt es jetzt irgendwo nicht mehr in diesem Zusammenhang.

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    Hallo Web28,

    hättest du noch eine Idee?
    Es funktioniert wie gesagt selbst in einer Neuinstallation nicht mehr.
    Da muss sich etwas grundsätzlich seit 1.03 geändert haben, hmm...

    Cyrous

    • Neu im Forum
    • Beiträge: 5
    Moin Zusammen,

    kann man den o. g. Code auch im Original-Shop, also xt:Commerce v3.0.4 SP2, verwenden? Zudem habe ich meinen Mindermengenzuschlag im Modul unter Zusammenfassung> Mindermengenzuschlag (ot_loworderfee) eingetragen. Das ist dann wohl ein Mindermengenzuschlag, der für alle Kundengruppen gilt.

    Meine Absicht ist eigentlich nur, dass der Kunde einen Hinweis bekommt, wenn er den Mindestbestellwert nicht erreicht. Hintergrund ist der, dass sich einige, nicht viele, darüber beschwert haben, dass man sie nicht darauf hingewiesen hat. In der Tat, muss man schon sehr genau hinsehen, denn der Mindermengenzuschlag erscheint ja nur auf der letzten Seite (checkout_confirmation).

    Danke euch  :)

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    Ja, sollte gehen.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    [...]
    kann man den o. g. Code auch im Original-Shop, also xt:Commerce v3.0.4 SP2, verwenden? [...]

    Bitte nicht verwechseln, wir sind hier keine xt:Commerce Community, sondern behandeln ausschließlich die eigenständige eCommerce Shopsoftware namens modified eCommerce Shopsoftware. :!:

    Grüße

    Torsten

    Cyrous

    • Neu im Forum
    • Beiträge: 5
    Moin Tomcraft,

    ich ging davon aus, dass in dieser Community kleine "Addons" erstellt werden usw. Ist es möglich, modified eCommerce Shopsoftware einfach über die bestehende xt:Commerce Version drüber zu bügeln?

    Danke dir.

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    Nein, einfach alles blind ersetzen, ist nicht zu empfehlen.
    Neu installieren und dann Module wieder rein oder Abgleich per Dateivergleicher.
    Bei weiteren Fragen bitte einen Thread suchen oder neu aufmachen.

    floh

    • Viel Schreiber
    • Beiträge: 881
    • Geschlecht:
    Ist es möglich, modified eCommerce Shopsoftware einfach über die bestehende xt:commerce Version drüber zu bügeln?

    Hallo Cyrous,

    Nein nicht so einfach aber:

    Schaust Du hier: ANLEITUNG: Datenbestand eines xt:Commerce Shops in die modified eCommerce Shopsoftware übernehmen

    :search:

    Gruß

    floh
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware
    11 Antworten
    7477 Aufrufe
    24. Januar 2012, 21:48:02 von Tomcraft
    31 Antworten
    19294 Aufrufe
    10. März 2015, 12:18:53 von Nils