Magento:设置所有可配置产品库存的最有效方法是什么?
使用库存级别更新所有产品后,将所有可配置产品设置为库存的最佳方法是什么? 所谓最佳方式,我指的是服务器上负载最少的最快方式 编辑:Magento:设置所有可配置产品库存的最有效方法是什么?,magento,Magento,使用库存级别更新所有产品后,将所有可配置产品设置为库存的最佳方法是什么? 所谓最佳方式,我指的是服务器上负载最少的最快方式 编辑: 我忘了说,如何通过编程实现这一点 根据您的版本,您可以从管理界面选择可配置类型的所有产品,然后选择操作->更新属性->库存 示例(请参见最后一个选项): 要么是这样,要么是编写自己的脚本,这很可能在负载/时间和效率方面做完全相同的事情(如果不是因为忘记了验证调用或其他事情而降低效率,那么上天禁止它错误地留下孤立的DB条目,这将导致您在某个时刻陷入痛苦的世界)。老实说
我忘了说,如何通过编程实现这一点 根据您的版本,您可以从管理界面选择可配置类型的所有产品,然后选择
操作->更新属性->库存
示例(请参见最后一个选项):
要么是这样,要么是编写自己的脚本,这很可能在负载/时间和效率方面做完全相同的事情(如果不是因为忘记了验证调用或其他事情而降低效率,那么上天禁止它错误地留下孤立的DB条目,这将导致您在某个时刻陷入痛苦的世界)。老实说,我无法想象这需要很长时间,除非您的可配置产品数量达到数万,或者您的服务器规格非常差,在这种情况下,它可能不会一开始就运行Magento
编辑:
这应该让你可以通过编程来完成注意“库存物品”的Magentos设备在其整个使用寿命内发生了很大变化,因此请务必首先对您的版本进行测试,以确保其正常工作
// Get all products with a type_id of configurable
$configurable_products =
Mage::getModel('catalog/product')->getCollection()
->addAttributeToFilter('type_id', 'configurable');
foreach ($configurable_products as $configurable_product) {
$configurable_product->load();
// Set is in stock attribute to 1
$configurable_product->getStockItem()->setIsInStock(1);
try {
$configurable_product->getStockItem()->save();
} catch (Exception $e) {
// Failed to save for some reason...
}
}
在目录>管理产品视图中:
从网格中的下拉列表中选择“可配置”:
单击表格标题中的“全选”:
从网格顶部的下拉菜单中选择“更新属性”,然后单击“提交”:
最后,从下一个屏幕,您可以执行大规模库存更新。单击屏幕左侧的“库存”选项卡,将其全部设置为“库存”和“启用”。
我忘了说“按程序”!看到在答案上付出了多少努力,真让人伤心!但是我相信其他人会从这里发布的答案中受益…你有你的答案,去看看相关控制器中的操作背后是什么…编辑了我的原始答案以解决这个问题。