【问题标题】:Magento cant change product quantity in backendMagento 无法在后端更改产品数量
【发布时间】:2016-01-07 17:19:41
【问题描述】:

我在 magento 中有一个奇怪的问题。我在产品的“库存”选项卡中更改的所有内容都会在我单击“保存”后重新设置。

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

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

到目前为止,我一直在尝试:

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

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

感谢您的帮助!

【问题讨论】:

  • 在控制台中你看到任何错误了吗?
  • 你是说 Javasrcipt 控制台?我刚刚检查过了。没有错误。
  • 你好在控制器的保存动作有方法集数据你能调试$data变量并检查哪些数据是那个,如果仍然不能工作那么需要检查保存后触发的观察者事件产品
  • 嗨 Jayram,您能否给我更多信息,我可以在哪里找到 set data 方法?

标签: php magento product inventory


【解决方案1】:

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

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

在保存产品的同时,在网站的前端和后端创建/取消订单时,该问题似乎已得到纠正,并且库存水平现在保持正确。

【讨论】:

  • 您好,谢谢您的回答。我已经注释掉了。但一切都没有改变。还是谢谢!
  • 你用的是哪个magento版本?
  • 嗨 dhaval,请查看我更新的问题。版本 1.9.1.0
【解决方案2】:

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

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

解决办法是在 php.ini 中增加 max_input_vars。

谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-28
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    相关资源
    最近更新 更多