4 Stimmen

Hinzufügen eines Rabatts mit dem Drupal-Commerce-Modul

Ich versuche, einen Rabatt auf den Produktpreis hinzuzufügen, je nachdem, woher die Benutzer kommen, die das Anmeldeformular ausgefüllt haben".

Ich denke darüber nach, den "Zustand" der Daten über einen Hook abzurufen und den Rabatt in Abhängigkeit von den abgerufenen Daten zu ändern.

Ich kann nicht herausfinden, wo ich den Wert des Preises einstellen kann.
Ich glaube nicht, dass die Regeln eine große Hilfe sein werden, da alle eine Menge von Bedingungen hinzufügen werden.

4voto

Tal V. Punkte 671

Ich bin nach wie vor der Meinung, dass die Preisfestsetzungsregeln der richtige Weg sind.

Natürlich können Sie nicht für jeden Zustand eine Bedingung festlegen, da dies zu einem Chaos führen würde. Ich würde vorschlagen, eine neue Tabelle mit zwei Spalten einzurichten: Staat und Rabatt. Füllen Sie die Tabelle mit den Daten, die Sie für Ihr Projekt benötigen.

Richten Sie eine neue Preisregel ein (Shop -> Konfiguration -> Produktpreisregeln -> Liste -> Hinzufügen). Überspringen Sie den Teil Bedingungen. Holen Sie im Teil Aktionen die Statusdaten des Benutzers und machen Sie sie als Variable verfügbar. Fügen Sie dann eine PHP-Aktion hinzu, um die Tabelle nach dem entsprechenden Rabatt abzufragen. Verwenden Sie eine dritte Aktion, um den Preis auf den abgefragten Rabatt zu setzen, oder, falls keine Ergebnisse zurückgegeben wurden, auf den ursprünglichen Wert.

Es könnte sich als sinnvoll erweisen, diese Logik in ein ordentliches Modul mit folgendem Inhalt zu verpacken:

  1. Eine Benutzeroberfläche für die Verwaltung der Rabatttabelle.
  2. Eine Regelaktion zur Abfrage der Tabelle für einen bestimmten Zustand.
  3. Eine Regelbedingung zur Überprüfung, ob es für einen bestimmten Staat einen Rabatt gibt.

(Sie können dann Punkt 3 oben in den Bedingungen der Preisregel verwenden, um den Preis nur zu ändern, wenn ein Rabatt gefunden wird).

Ich hoffe, das hilft. Viel Glück!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X