Magento 无法在后端更改产品数量

Magento cant change product quantity in backend

我在 magento 中遇到了一个奇怪的问题。我在产品的 "Inventory" 选项卡中所做的所有更改,都会在我单击 "save" 后重新设置。

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

有没有办法一步步模拟保存进度,看看哪里出错了?

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

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

感谢您的帮助!

请尝试以下解决方案可能对您有所帮助

我追踪到 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);

问题似乎得到了纠正,现在保存产品时库存水平保持正确,同时在网站正面和 back-end 上创建/取消订单。

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

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

解决方案是在 php.ini 中增加 max_input_vars。

谢谢!