Questions tagged «inventory»

2
检测库存变化
我需要检测产品的库存水平何时发生变化。我使用cataloginventory_stock_item_save_after事件发生了一些成功,该事件在后端更改库存或在前端取消订单(通过Paypal)时触发,但从前端购买产品时不会触发。 我cataloginventory_stock_item_save_after喜欢这样的事件: <global> <events> <cataloginventory_stock_item_save_after> <observers> <cataloginventory_stock_item_save_after_handler> <type>model</type> <class>stockchange/observer</class> <method>stockChange</method> </cataloginventory_stock_item_save_after_handler> </observers> </cataloginventory_stock_item_save_after> </events> <?php class FashionBunker_StockChange_Model_Observer { public function stockChange(Varien_Event_Observer $observer) { 当客户购买商品时,我是否需要使用另一个事件来捕获库存变化,或者我迷上该事件的方式是否存在问题?

3
处理多个库存地点或仓库
Magento数据库包含表cataloginventory_stock,表中有一个名为“默认”的条目。我知道这是开始处理多个库存地点的地方。 我想知道你们中是否有人在这方面有经验,以及陷阱是什么。 我正在寻找: 能够跟踪各个物理位置(商店/仓库/等)的产品库存 能够识别要从每个客户订单中提取产品库存的位置 如果有人可以提供与此相关的文章或教程的链接,或者只是分享他们沿这条道路的经验,那将是很棒的。无论您是自己开发它还是使用第三方模块,我都希望收到您的来信。 编辑:我最终编写了自己的多清单模块,该模块向现有cataloginventory_stock表添加了额外的行。它需要覆盖一些观察员和检查库存位置的模型。在许多地方,库存ID 1被硬编码到核心中。 在另一个项目中,我使用了Demac的多库存定位模块。虽然它不是完美的,但它开箱即用,写得很好。我能够轻松扩展和自定义它以满足我的需求。

3
性能:在所有产品类型的产品列表list.phtml上添加库存库存水平
TL; DR,要求在类别产品列表页面上显示库存的库存水平,同时考虑到性能符合Magento框架的情况,同时减少查询/存储量。 在阅读Vinai Kopp关于预加载以实现可伸缩性的文章之后。 为了降低性能,在类别产品列表页面(list.phtml)上包含库存库存水平且没有额外的查询/负载的最佳方法是什么? 我知道一些方法: afterLoad()似乎可以很好地与media_gallery包含项一起使用,而无需其他查询,但是我没有成功实现与库存相同的方法。 $attributes = $_product->getTypeInstance(true)->getSetAttributes($_product); $media_gallery = $attributes['media_gallery']; $backend = $media_gallery->getBackend(); $backend->afterLoad($_product); 指示SQL以product_id例如键的方式与集合并行收集所需的数据。但是在框架中寻找更多的手段。 目前,我只是stock_item通过以下方式加载对象: $_product->load('stock_item')->getTotalQty(); 哪个可行,但我注意到添加了更多查询以获取集合中所有产品的库存总计。 ... __EAV_LOAD_MODEL__ (Mage_Catalog_Model_Product, id: stock_item, attributes: NULL) __EAV_LOAD_MODEL__ (Mage_Catalog_Model_Product, id: stock_item, attributes: NULL) __EAV_LOAD_MODEL__ (Mage_Catalog_Model_Product, id: stock_item, attributes: NULL) ... 奇怪的是,这有效。魔术发生在Mage_Eav_Model_Entity_Abstract-> load($ object,$ entityId,$ attributes)中。如果$ attributes为空,它将调用loadAllAttribute($ object)。因此$ product-> load('blah')将加载所有缺少的属性,包括'media_gallery'– …

10
Magento 2:以编程方式更新库存
在以下代码中,我能够存储所有信息,但不包括库存数据。Magento 2有什么变化吗? public function __construct( ScopeConfigInterface $scopeConfig, CollectionFactory $product, Magento\Catalog\Api\ProductRepositoryInterface $productRepository ) { $this->scopeConfig = $scopeConfig; $this->product = $product; $this->productRepository = $productRepository; } public function update(\XXXXXX\XXXXXX\Api\Data\InventoryCollectionInterface $data) { foreach ($data['list'] as $d) { $product = $this->productRepository->getById($d['entity_id']); $product->setStatus(($d['quantity'] > 0 ? 1 : 0)); $product->setUpc($d['upc']); $product->setStockData(array( 'qty' => $d['quantity'], 'is_in_stock' => …

1
表cataloginventory_stock的目的
我看到在默认的Magento版本1.0到1.8(ce)中,有一个名为的表cataloginventory_stock仅包含一条记录。 stock_id stock_name 1 Default 与此相关,在Mage_CatalogInventory_Model_Stock_Item模型中有此方法 public function getStockId() { return 1; } 上面有评论@todo multi stock。 我猜有人想实现多股票功能,但决定不这样做(就像许多其他“功能”一样),但我不确定。 所以我的问题是... 该表还有其他用途吗,是否会影响代码的其他部分,或者仅仅是作为新功能的起点?
10 inventory  stock 

4
Magento观察员事件-操作顺序
我正在尝试向catalog_model_product_duplicate事件注入功能。该模块的一部分将是确保复制的产品的库存状态也被复制;目前不是。 我看到CatalogInventory观察到此事件并设置了一些标准库存信息。我能否保证在当地人之前解决核心事件?我可以依靠这里的任何操作顺序吗?

1
Magento 1:库存项目中的数量与库存状态表之间的关系
在Magento 1中,库存信息存储在库存项目对象中。每个库存项目对象都与一个产品对象相关联。Magento将“库存物料”对象保留到cataloginventory_stock_item表中。 但是,每个库存项目对象都有一个相关的库存状态对象。库存状态似乎是一个(索引|非正规化)表,该表以整数常量存储产品的库存状态,并允许您将多个库存项目和不同的产品关联起来website_id。Magento将库存状态对象保留到cataloginventory_stock_status。下面是类常量和表模式。 class Mage_CatalogInventory_Model_Stock_Status extends Mage_Core_Model_Abstract { const STATUS_OUT_OF_STOCK = 0; const STATUS_IN_STOCK = 1; } mysql> describe cataloginventory_stock_status; +--------------+----------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+----------------------+------+-----+---------+-------+ | product_id | int(10) unsigned | NO | PRI | NULL | | | website_id …

9
如何以编程方式将产品设置为缺货/缺货
我尝试了一些在网上找到的片段,但没有成功。 只是尝试通过代码将产品设置为有货/无货,这是我所知道的: $product = Mage::getModel('catalog/product')->load( 'id' ); $stockItem = $product->getStockItem(); $stockItem->setData('manage_stock', 1); $stockItem->setData('is_in_stock', 0); $stockItem->setData('use_config_notify_stock_qty', 0); $stockItem->setData('qty', 0); $stockItem->save(); $product->save(); 通过管理面板查看产品信息时,它没有任何改变,有什么想法吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.