diff --git a/src/CanBeBought.php b/src/CanBeBought.php index 4f283c1..96e0e53 100644 --- a/src/CanBeBought.php +++ b/src/CanBeBought.php @@ -10,7 +10,7 @@ trait CanBeBought * * @return int|string */ - public function getBuyableIdentifier() + public function getBuyableIdentifier($options = null) { return method_exists($this, 'getKey') ? $this->getKey() : $this->id; } @@ -20,7 +20,7 @@ trait CanBeBought * * @return string */ - public function getBuyableDescription() + public function getBuyableDescription($options = null) { if(property_exists($this, 'name')) return $this->name; if(property_exists($this, 'title')) return $this->title; @@ -34,7 +34,7 @@ trait CanBeBought * * @return float */ - public function getBuyablePrice() + public function getBuyablePrice($options = null) { if(property_exists($this, 'price')) return $this->price; diff --git a/src/CartItem.php b/src/CartItem.php index 9824cf6..88bd4f5 100644 --- a/src/CartItem.php +++ b/src/CartItem.php @@ -192,9 +192,9 @@ class CartItem implements Arrayable */ public function updateFromBuyable(Buyable $item) { - $this->id = $item->getBuyableIdentifier(); - $this->name = $item->getBuyableDescription(); - $this->price = $item->getBuyablePrice(); + $this->id = $item->getBuyableIdentifier($this->options); + $this->name = $item->getBuyableDescription($this->options); + $this->price = $item->getBuyablePrice($this->options); $this->priceTax = $this->price + $this->tax; } @@ -286,7 +286,7 @@ class CartItem implements Arrayable */ public static function fromBuyable(Buyable $item, array $options = []) { - return new self($item->getBuyableIdentifier(), $item->getBuyableDescription(), $item->getBuyablePrice(), $options); + return new self($item->getBuyableIdentifier($options), $item->getBuyableDescription($options), $item->getBuyablePrice($options), $options); } /** diff --git a/src/Contracts/Buyable.php b/src/Contracts/Buyable.php index 9077e37..f5bfeb7 100644 --- a/src/Contracts/Buyable.php +++ b/src/Contracts/Buyable.php @@ -9,19 +9,19 @@ interface Buyable * * @return int|string */ - public function getBuyableIdentifier(); + public function getBuyableIdentifier($options = null); /** * Get the description or title of the Buyable item. * * @return string */ - public function getBuyableDescription(); + public function getBuyableDescription($options = null); /** * Get the price of the Buyable item. * * @return float */ - public function getBuyablePrice(); + public function getBuyablePrice($options = null); } \ No newline at end of file