Mindermengenzuschlag in Magento

Wer einen Magento-Onlineshop erstellen lässt, bekommt die Möglichkeit, einen Mindermengenzuschlag einzustellen, leider nicht mitgeliefert. Das heißt: Einen Aufschlag auf den Warenkorbpreis, wenn dieser einen bestimmten Wert unterschreitet.

Wohl aber lassen sich Rabatte auf Warenkörbe für individuelle Bedingungen einstellen. Da der Mindermengenzuschlag einem negativen Rabatt entspricht, kann man diesen durch die Eingabe eines negativen Betrages im Rahmen einer Preisregel realisieren. Hierzu muss man die Eingabe negativer Beträge für Rabatte jedoch an mehreren Stellen erlauben (Magento-Programmierung auf der Basis von Version 1.7.0.2):

Änderung 1: Datei \app\code\local\Mage\Adminhtml\Block\Promo\Quote\Edit\Tab\Actions.php:
$fieldset->addField('discount_amount', 'text', array(
'name' => 'discount_amount',
'required' => true,
'class' => 'validate-number',
'label' => Mage::helper('salesrule')->__('Discount Amount'),
));

Änderung 2: Datei \app\code\local\Mage\Rule\Model\Abstract.php:
Auskommentieren:
if ($this->hasDiscountAmount()) {
if ((int)$this->getDiscountAmount() < 0) {
Mage::throwException(Mage::helper('rule')->__('Invalid discount amount.'));
}}

Änderung 3: Datei \app\code\local\Mage\SalesRule\Model\Validator.php:
">0" entfernen:
if ($cartRules[$rule->getId()]) {

Änderung 4: Datei \app\code\local\Mage\SalesRule\Model\Quote\Discount.php:
Umbenennen:
$title = Mage::helper('sales')->__('Zu-/Abschlag');

Fertig!

... zurück zum Blog

AUSGEZEICHNET

Ein von uns entwickeltes Webportal wurde mit dem Humboldt-Preis für Nachhaltigkeit ausgezeichnet.

PROJEKT

Nachhaltige Sportveranstaltungen in Deutschland

AUSZEICHNUNG

Wissenschaftliche Auszeichnung
in Kooperation mit der Deutschen Sporthochschule Köln

Projekt Webportal Mockup