Allows creating discounts for products / orders.
- Discount by various criteria, including:
- Time
- User group
- Product/Category
- Number of uses
- Order value
- Shipping zone
- Coupon codes
- Gift voucher products
- Shipping discount
Discounts can be applied to individual products, cart subtotal, or shipping. Discounts can be globally enabled/disabled.
- SilverShop Module
- Install code to your SilverStripe root directory.
via composer:
composer require silvershop/discounts dev-master
If you are using the stepped checkout, add the CheckoutStep_Discount
checkout step:
SilverShop\Page\CheckoutPage:
steps:
'discount' : 'SilverShop\Discounts\Checkout\Step\CheckoutStepDiscount'
If you would like to display the coupon form seperately to the checkout form,
apply the following extension. This will make CouponForm
available in the checkout template:
SilverShop\Page\CheckoutPageController:
extensions:
- SilverShop\Discounts\Extensions\CouponFormCheckoutDecorator
Add the OrderDiscountModifier
modifier to your order modifiers yaml config:
SilverShop\Model\Order:
modifiers:
- SilverShop\Discounts\Model\Modifiers\OrderDiscountModifier
Extend Product
and/or ProductVariation
with the SpecificPricingExtension
to introduce a pricing table for each product. This allows admins to set prices according to things like, date, and membership group.
Configure as follows:
SilverShop\Page\Product:
extensions:
- SilverShop\Discounts\Extensions\SpecificPricingExtension