Пример #1
0
 /**
  * Add join for catalog in stock field to product collection
  *
  * @param Mage_Catalog_Model_Entity_Product_Collection $productCollection
  * @return Mage_CatalogInventory_Model_Mysql4_Stock_Item
  */
 public function addCatalogInventoryToProductCollection($productCollection)
 {
     $isStockManagedInConfig = (int) Mage::getStoreConfig(Mage_CatalogInventory_Model_Stock_Item::XML_PATH_MANAGE_STOCK);
     $inventoryTable = $this->getTable('cataloginventory/stock_item');
     $productCollection->joinTable('cataloginventory/stock_item', 'product_id=entity_id', array('is_saleable' => new Zend_Db_Expr("(\n                        IF(\n                            IF(\n                                {$inventoryTable}.use_config_manage_stock,\n                                 {$isStockManagedInConfig},\n                                {$inventoryTable}.manage_stock\n                            ), \n                            {$inventoryTable}.is_in_stock,\n                            1\n                        )\n                     )"), 'inventory_in_stock' => 'is_in_stock'), null, 'left');
     return $this;
 }
Пример #2
0
 /**
  * Add join for catalog in stock field to product collection
  *
  * @param Mage_Catalog_Model_Entity_Product_Collection $productCollection
  * @return Mage_CatalogInventory_Model_Mysql4_Stock_Item
  */
 public function addCatalogInventoryToProductCollection($productCollection)
 {
     $isStockManagedInConfig = (int) Mage::getStoreConfig(Mage_CatalogInventory_Model_Stock_Item::XML_PATH_MANAGE_STOCK);
     $productCollection->joinTable('cataloginventory/stock_item', 'product_id=entity_id', array('is_saleable' => new Zend_Db_Expr('(IF(IF(use_config_manage_stock, ' . $isStockManagedInConfig . ', manage_stock), is_in_stock, 1))'), 'inventory_in_stock' => 'is_in_stock'), null, 'left');
     return $this;
 }
Пример #3
0
 /**
  * Add join for catalog in stock field to product collection
  *
  * @param Mage_Catalog_Model_Entity_Product_Collection $productCollection
  * @return Mage_CatalogInventory_Model_Mysql4_Stock_Item
  */
 public function addCatalogInventoryToProductCollection($productCollection)
 {
     $productCollection->joinField('inventory_in_stock', 'cataloginventory/stock_item', 'is_in_stock', 'product_id=entity_id', null, 'left');
     return $this;
 }