silvershop/discounts

Adds Discount and Coupon support for SilverShop.

Installs: 20 795

Dependents: 4

Suggesters: 3

Security: 0

Stars: 9

Watchers: 6

Forks: 38

Open Issues: 17

Type:silverstripe-vendormodule

3.0.1 2024-02-26 12:37 UTC

This package is auto-updated.

Last update: 2024-03-26 18:08:42 UTC


README

Latest Stable Version Latest Unstable Version Build Status Code Coverage Scrutinizer Quality Score Total Downloads

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.

Requirements

  • SilverShop Module

Installation

	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

Specific Pricing

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.

SilverShop\Page\Product:
  extensions:
    - SilverShop\Discounts\Extensions\SpecificPricingExtension