Example #1
0
 /**
  * @param Product $product New product for the item.
  */
 public function setProduct(Product $product)
 {
     $this->productId = $product->getId();
     $this->product = $product;
     $this->type = $product->getType();
     $this->taxClasses = $product->getTaxClasses();
 }
Example #2
0
 /**
  * Formats stock status appropriately to the product type and returns a string.
  *
  * @param Entity\Product $product
  *
  * @return string
  */
 public static function getStock(Entity\Product $product)
 {
     if (!$product instanceof Entity\Product\Purchasable) {
         return '';
     }
     /**@var $product Entity\Product */
     switch ($product->getType()) {
         case Entity\Product\Simple::TYPE:
         case Entity\Product\Virtual::TYPE:
         case Entity\Product\Downloadable::TYPE:
             /** @var $product Entity\Product\Simple */
             $stock = $product->getStock()->getStatus() == Entity\Product\Attributes\StockStatus::IN_STOCK ? _x('In stock', 'product', 'jigoshop') : '<strong class="attention">' . _x('Out of stock', 'product', 'jigoshop') . '</strong>';
             if (!self::$options->get('products.show_stock') || !$product->getStock()->getManage()) {
                 break;
             }
             $stock = sprintf(_x('%s <strong>(%d available)</strong>', 'product', 'jigoshop'), $stock, $product->getStock()->getStock());
             break;
         default:
             $stock = apply_filters('jigoshop\\helper\\product\\get_stock', '', $product);
             break;
     }
     return apply_filters('jigoshop\\helper\\product\\get_stock\\stock', $stock, $product);
 }