PHP Class ShoppingCart, silvershop-core

Ensures that an order is only started (persisted to DB) when necessary, and all future changes are on the same order, until the order has is placed. The requirement for starting an order is to adding an item to the cart.
Inheritance: extends Object
Afficher le fichier Open project: burnbright/silverstripe-shop Class Usage Examples

Méthodes publiques

Méthode Description
__clone ( ) singleton protection
__wakeup ( )
add ( Buyable $buyable, number $quantity = 1, unknown $filter = [] ) : boolean | OrderItem Adds an item to the cart
archiveorderid ( integer | null $requestedOrderId = null ) Store old cart id in session order history
clear ( boolean $write = true ) : boolean Empty / abandon the entire cart.
clearMessage ( )
curr ( ) : Order Shortened alias for ShoppingCart::singleton()->current()
current ( ) : Order Get the current order, or return null if it doesn't exist.
get ( Buyable $buyable, $customfilter = [] ) : OrderItem Finds an existing order item.
getCorrectBuyable ( Buyable $buyable ) : Buyable Ensure the proper buyable will be returned for a given buyable… This is being used to ensure a product with variations cannot be added to the cart… a Variation has to be added instead!
getMessage ( )
getMessageType ( )
remove ( Buyable $buyable, integer $quantity = null, $filter = [] ) : boolean Remove an item from the cart.
setCurrent ( Order $cart ) : ShoppingCart Set the current cart
setQuantity ( Buyable $buyable, integer $quantity = 1, $filter = [] ) : boolean | OrderItem Sets the quantity of an item in the cart.
singleton ( ) : ShoppingCart Access for only allowing access to one (singleton) ShoppingCart.

Méthodes protégées

Méthode Description
error ( $message ) Store a new error.
findOrMake ( ) : Order Helper that only allows orders to be started internally.
message ( string $message, string $type = "good" ) Store a message to be fed back to user.

Private Methods

Méthode Description
findOrMakeItem ( Buyable $buyable, integer $quantity = 1, array $filter = [] ) : OrderItem Finds or makes an order item for a given product + filter.

Method Details

__clone() public méthode

singleton protection
public __clone ( )

__wakeup() public méthode

public __wakeup ( )

add() public méthode

Adds an item to the cart
public add ( Buyable $buyable, number $quantity = 1, unknown $filter = [] ) : boolean | OrderItem
$buyable Buyable
$quantity number
$filter unknown
Résultat boolean | OrderItem false or the new/existing item

archiveorderid() public méthode

Store old cart id in session order history
public archiveorderid ( integer | null $requestedOrderId = null )
$requestedOrderId integer | null optional parameter that denotes the order that was requested

clear() public méthode

Empty / abandon the entire cart.
public clear ( boolean $write = true ) : boolean
$write boolean whether or not to write the abandoned order
Résultat boolean - true if successful, false if no cart found

clearMessage() public méthode

public clearMessage ( )

curr() public static méthode

Shortened alias for ShoppingCart::singleton()->current()
public static curr ( ) : Order
Résultat Order

current() public méthode

Get the current order, or return null if it doesn't exist.
public current ( ) : Order
Résultat Order

error() protected méthode

Store a new error.
protected error ( $message )

findOrMake() protected méthode

Helper that only allows orders to be started internally.
protected findOrMake ( ) : Order
Résultat Order

get() public méthode

Finds an existing order item.
public get ( Buyable $buyable, $customfilter = [] ) : OrderItem
$buyable Buyable
Résultat OrderItem the item requested, or false

getCorrectBuyable() public méthode

Ensure the proper buyable will be returned for a given buyable… This is being used to ensure a product with variations cannot be added to the cart… a Variation has to be added instead!
public getCorrectBuyable ( Buyable $buyable ) : Buyable
$buyable Buyable
Résultat Buyable

getMessage() public méthode

public getMessage ( )

getMessageType() public méthode

public getMessageType ( )

message() protected méthode

Store a message to be fed back to user.
protected message ( string $message, string $type = "good" )
$message string
$type string - good, bad, warning

remove() public méthode

Remove an item from the cart.
public remove ( Buyable $buyable, integer $quantity = null, $filter = [] ) : boolean
$buyable Buyable
$quantity integer - number of items to remove, or leave null for all items (default)
Résultat boolean success/failure

setCurrent() public méthode

Set the current cart
public setCurrent ( Order $cart ) : ShoppingCart
$cart Order
Résultat ShoppingCart

setQuantity() public méthode

Will automatically add or remove item, if necessary.
public setQuantity ( Buyable $buyable, integer $quantity = 1, $filter = [] ) : boolean | OrderItem
$buyable Buyable
$quantity integer
Résultat boolean | OrderItem false or the new/existing item

singleton() public static méthode

Access for only allowing access to one (singleton) ShoppingCart.
public static singleton ( ) : ShoppingCart
Résultat ShoppingCart