Sales

Type
Class
Namespace
craft\commerce\services
Inherits
craft\commerce\services\Sales » yii\base\Component (opens new window) » yii\base\BaseObject (opens new window)
Implements
yii\base\Configurable (opens new window)
Since
2.0

Sale service.

View source (opens new window)

# Public Properties

Property Description
allSales craft\commerce\models\Sale[]
behaviors (opens new window) yii\base\Behavior (opens new window) – List of behaviors attached to this component

# allSales

Type
craft\commerce\models\Sale[]
Access
Read-only

View source (opens new window)

# Public Methods

Method Description
__call() (opens new window) Calls the named method which is not a class method.
__clone() (opens new window) This method is called after the object is created by cloning an existing one.
__construct() (opens new window) Constructor.
__get() (opens new window) Returns the value of an object property.
__isset() (opens new window) Checks if a property is set, i.e. defined and not null.
__set() (opens new window) Sets value of an object property.
__unset() (opens new window) Sets an object property to null.
attachBehavior() (opens new window) Attaches a behavior to this component.
attachBehaviors() (opens new window) Attaches a list of behaviors to the component.
behaviors() (opens new window) Returns a list of behaviors that this component should behave as.
canGetProperty() (opens new window) Returns a value indicating whether a property can be read.
canSetProperty() (opens new window) Returns a value indicating whether a property can be set.
className() (opens new window) Returns the fully qualified name of this class.
deleteSaleById() Delete a sale by its id.
detachBehavior() (opens new window) Detaches a behavior from the component.
detachBehaviors() (opens new window) Detaches all behaviors from the component.
ensureBehaviors() (opens new window) Makes sure that the behaviors declared in behaviors() (opens new window) are attached to this component.
getAllSales() Get all sales.
getBehavior() (opens new window) Returns the named behavior object.
getBehaviors() (opens new window) Returns all behaviors attached to this component.
getSaleById() Get a sale by its ID.
getSalePriceForPurchasable() Returns the salePrice of the purchasable based on all the sales.
getSalesForPurchasable() Returns the sales that match the purchasable.
getSalesRelatedToPurchasable()
hasEventHandlers() (opens new window) Returns a value indicating whether there is any handler attached to the named event.
hasMethod() (opens new window) Returns a value indicating whether a method is defined.
hasProperty() (opens new window) Returns a value indicating whether a property is defined.
init() (opens new window) Initializes the object.
matchPurchasableAndSale() Match a product and a sale and return the result.
off() (opens new window) Detaches an existing event handler from this component.
on() (opens new window) Attaches an event handler to an event.
populateSaleRelations() Populates a sale's relations.
reorderSales() Reorder Sales based on a list of ids.
saveSale() Save a Sale.
trigger() (opens new window) Triggers an event.

# deleteSaleById()

Delete a sale by its id.

View source (opens new window)

Arguments

  • $id

Returns

boolean (opens new window)

Throws

# getAllSales()

Get all sales.

View source (opens new window)

Returns

craft\commerce\models\Sale[]

# getSaleById()

Get a sale by its ID.

View source (opens new window)

Arguments

Returns

craft\commerce\models\Sale, null (opens new window)

# getSalePriceForPurchasable()

Returns the salePrice of the purchasable based on all the sales.

View source (opens new window)

Arguments

Returns

float (opens new window)

# getSalesForPurchasable()

Returns the sales that match the purchasable.

View source (opens new window)

Arguments

Returns

craft\commerce\services\Sales[]

# getSalesRelatedToPurchasable()

View source (opens new window)

Arguments

Returns

array (opens new window)

# matchPurchasableAndSale()

Match a product and a sale and return the result.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

# populateSaleRelations()

Populates a sale's relations.

View source (opens new window)

Arguments

# reorderSales()

Reorder Sales based on a list of ids.

View source (opens new window)

Arguments

  • $ids

Returns

boolean (opens new window)

# saveSale()

Save a Sale.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

Throws

# Events

# EVENT_AFTER_SAVE_SALE

Type
craft\commerce\events\SaleEvent
Since
2.2

The event that is triggered after a sale is saved.

# EVENT_BEFORE_MATCH_PURCHASABLE_SALE

Type
craft\commerce\events\SaleMatchEvent

This event is raised after a sale has matched all other conditions You may set craft\commerce\events\SaleMatchEvent::$isValid (opens new window) to false to prevent the application of the matched sale.

Plugins can get notified when a purchasable matches a sale.

use craft\commerce\events\SaleMatchEvent;
use craft\commerce\services\Sales;
use yii\base\Event;

Event::on(Sales::class, Sales::EVENT_BEFORE_MATCH_PURCHASABLE_SALE, function(SaleMatchEvent $e) {
     // Perhaps prevent the purchasable match with sale based on some business logic.
});

# EVENT_BEFORE_SAVE_SALE

Type
craft\commerce\events\SaleEvent
Since
2.2

The event that is triggered before a sale is saved.