Magento Katalog-Preisregeln für einzelne Produkte definieren

Die Katalog- und Warenkorb-Preisregeln von Magento bieten die Möglichkeit, bestimmte Rabatte unter bestimmten Bedingungen zu gewähren. Zum Beispiel kann man einer bestimmten Kundengruppe im Monat März auf alle Produkte einer bestimmten Kategorie einen 10% Rabatt gewähren.

Bei den Katalog-Preisregeln können standardmäßig allerdings nur Regeln auf Basis des Attribute-Sets oder der Kategorie eines Produktes erstellt werden. Das ist in manchen Fällen ausreichend. Will man jedoch Regeln für einzelne Produkte definieren, steht man vor einem Problem. Die Lösung ist jedoch sehr simpel.

Produktattribute anpassen

Magento bietet nämlich die Möglichkeit, in der Attribut-Verwaltung für jedes Attribut festzulegen, ob es in Preisregel-Konditionen verwendet werden darf oder nicht. Standardmäßig ist das allerdings für alle Attribute deaktiviert. 

Wir gehen daher im Backend-Bereich auf den Menüpunkt "Katalog" > "Attribute" > "Attribute verwalten". Dort suchen wir uns z.B. das Attribut SKU und klicken darauf, um es zu bearbeiten. Im Bereich "Shop-Einstellungen" suchen wir uns den Punkt "Verwende Preisregel-Konditionen" und verändern den Wert auf "Ja". Attribut speichern - fertig! (Eventuell muss noch der Index neu aufgebaut werden - entsprechender Hinweis wird angzeigt)

Katalog-Preisregel erstellen

Als nächstes wechseln wir auf den Menüpunkt "Verkaufsförderung" > "Katalog-Preisregeln". Wenn wir jetzt eine neue Regel erstellen bzw eine bestehende editieren und wir auf den Tab "Bedingungen" wechseln und dort eine Bedingung hinzufügen, sehen wir zusätzlich zu den Attribute-Sets und der Kategorie jetzt "SKU" in der Liste. (vgl Screenshot). Um eine oder mehrere SKU's auszuwählen kann bequem die Produktsuche verwendet und im Suchergebnis eine oder mehrere Produkte per Checkbox ausgewählt werden. Bequemer geht es nicht.

Magento Katalogpreisregeln für einzelne Produkte

Wichtig: damit die Regel funktioniert, muss der Operator der Bedingung vom standardmäßigen "ist" auf "ist eines von" geändert werden! (vgl Screenshot)

Kommentare

Zunächst einmal: tolle Anleitung. 

Ich habe eine Preisregel angelegt, die nur für angemeldete User gelten soll (10% Rabatt auf diverse SKU's). Alles ist wie in Eurer Anleitung eingestellt. Aber ich kann im Katalog keine Preisreduktion sehen wenn ich mich als Testkunde anmelde. Woran kanns liegen??

 

Gruß

Jorge

der Vollständigkeit halber die Problemlösung: die Regel wurde nur gespeichert, jedoch nicht angewandt. Das ist der große Unterschied zwischen den beiden Buttons "Speichern" und "Speichern und Anwenden", den man unbedingt beachten muss

Ein Traum! Danke!

Habe die Anleitung genau befolgt. Doch leider zeigt er im Frontend keine "Prozente" an.

\r\n

Wenn ich aber auf alles Prozente geben will, funktioniert es. Nur nicht mit einer Regel.

\r\n

Wo liegt der Fehler?

2 häufige Fehler wären:

\r\n
    \r\n
  1. \r\n hast Du darauf geachtet, dass der Operator der Bedingung auf "ist eines von" gestellt ist?
  2. \r\n
  3. \r\n ganz wichtig beim Abspeichern (siehe Kommentare weiter unten): immer auf "Speichern und Anwenden" klicken, nicht auf den "Speichern" Button, sonst ist die Regel zwar abgespeichert, die Datenbank-Tabellen mit den vorkalkulierten Preisen sind aber noch auf dem alten Stand und werden erst beim nächsten Cron-Run aktualisiert
  4. \r\n
\r\n

Besteht das Problem immer noch, weiß ich jetzt auch nicht, woran es liegen könnte. Dann würde ich Dir raten, einen Blick in die Datenbank zu werfen und die Preistabellen zu kontrollieren. Welche Magento-Version benutzt Du?

Hat jemand eine Idee, wieso die angewendete Preisregel nach 24 Stunden wieder rausfliegt und erneut angewendet werden muss...? Danke, Thomas.

Da die Preisregeln ja zeitlich begrenzt sein können und Magento diese nicht wirklich dynamisch berechnet, sondern für alle möglichen Kombinationen (Produkt, Kundengruppe, Tag,... -> für genauere Info dazu in die entspr. DB-Tabelle nachsehen) den Endpreis vorab berechnet und in eine eigene DB-Tabelle schreibt. Da hier viele Datensätze entstehen, wird das nur für einen best. Zeitraum gemacht (ohne nachzusehen war ich eigentlich der Meinung, dass es 3 Tage sind). Daher müssen sie regelmäßig neu generiert werden. Diese Aufgabe sollte aber ein Cronjob automatisch erledigen.

DANKE !!!!

Hi, danke für den hilfreichen Artikel.

 

Könnt Ihr mir sagen wie ich nun erkennen kann wie OFT die Warenkorb Preisregel nun benutzt wurde?

 

Hintergrund: Wir haben einen Gutscheincode ausgegeben und haben die Verwendung pro Rabattcode offen gelassen. Die Verwendung pro Kunde (wie in diesem Beispiel) auf 1 gesetzt. Jetzt, da einige Zeit vergangen ist seit dem wir den Code platziert haben, würde ich gerne nachschauen, wie oft er eingelöst wurde. Ich bin nach einigem googlen nicht fündig geworden. Hoffe ihr könnt weiterhelfen.

 

Vielen Dank schonmal!

AP

Hi,

auf die Schnelle kann ich jetzt nicht sagen, ob's da nicht sogar irgendeinen Report im Backend dafür gäbe, aber folgendes SQL-Statement sollte passen:

SELECT count(*) FROM `sales_flat_order` WHERE coupon_code = 'IHRCODE'

Ich möchte einen Rabattcode erzeugen der für bestimmte Produkte unterschiedliche Rabatte vorsieht: Produkt A mit 30% Produkte B, C und D mit 25 % Produkte E und F mit 15% Wie kann ich das in Magento2 anlegen. Danke für Tipps

Der Magento2 Kelch ist zum Glück bisher an mir vorübergegangen. Dennoch halte ich es für unrealistisch, dass sich das mit ein und demselben Rabattcode überhaupt lösen lässt. Mir fällt eigentlich überhaupt kein Shop-System ein, dass diese Funktionalität von Haus aus liefert. In Drupal Commerce 2.x lassen sich jedoch zB eigene Promotion Plugins sehr einfach implementieren. Da wäre das sicherlich umsetzbar, aber auch hier fällt mir keine fix fertige Lösung dafür ein!

Ich bin gerade diese Anleitung durchgegangen (danke dafür!), hab aber das Problem, dass die Eingabe des Codes im Warenkorb zu einem Rabatt auf den gesamten Warenkorb führt, wenn zumindest eines der deklarierten Produkte sich im Warenkorb befindet. Was ich aber möchte ist, dass nur eben die in der Bedingung deklarierten Produkte (SKU) im Preis rabattiert werden. Was mache ich falsch?

Neuen Kommentar schreiben