Magento无法改变后端的产品数量

时间:2016-01-07 17:19:42

标签: php magento product inventory

我在magento中有一个奇怪的问题。在我点击“保存”后,我在产品的“库存”标签中更改的所有内容都会重置。

过去有人有类似的问题吗?

有没有办法逐步模拟保存进度,所以我可以看到出现错误的位置?

到目前为止,我已尝试过:

  • 禁用所有插件
  • 重新索引所有新内容
  • 在后端/通过SQL /通过ssh
  • 删除完整缓存
  • 删除所有产品和分类

抱歉缺乏信息。如果您需要任何信息,请随时询问。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

请尝试以下解决方案可能会帮助您

我将其追踪到app / code / core / Mage / CatalogInventory / Model / Observer.php。

事件catalog_product_save_after调用saveInventoryData方法,该方法又调用_prepareItemForSave方法。

第225行:

$originalQty = $product->getData('stock_data/original_inventory_qty');
if (strlen($originalQty)>0) {
  $item->setQtyCorrection($item->getQty()-$originalQty);
}

如果你注释掉这一行:

$item->setQtyCorrection($item->getQty()-$originalQty);

似乎纠正了这个问题&保存产品时,库存水平现在保持正确,同时在前面和后面创建/取消订单。网站的后端。

答案 1 :(得分:0)

我想通了,问题出在哪里: 我有超过4000种不同的产品属性。每次保存产品时,所有4000个属性的信息都会通过post-method传输。这似乎太多了,并且在固定的字符值之后URL被削减。因此,数量信息不会被传输。

每个产品只有1-30个属性填充信息,其余为空白。但是填充哪些属性取决于具体的产品。我已经选择了为每个信息创建属性的方法,因为如果信息是可搜索的或可过滤的,我想设置个性。

解决方法是增加php.ini中的max_input_vars。

谢谢!