更新所有具有庫存水平的產品後,將所有可配置產品設置爲庫存的最佳方法是什麼? 通過最好的方式,我的意思是最快的服務器負載最少。Magento:什麼是最有效的方式來設置所有可配置產品的庫存?
編輯:
我忘了說,如何以編程方式做到這一點!
更新所有具有庫存水平的產品後,將所有可配置產品設置爲庫存的最佳方法是什麼? 通過最好的方式,我的意思是最快的服務器負載最少。Magento:什麼是最有效的方式來設置所有可配置產品的庫存?
編輯:
我忘了說,如何以編程方式做到這一點!
根據您的版本,從管理界面您可以選擇所有可配置類型的產品,然後Actions -> Update Attributes -> Inventory
。
的例子(見最後一個選項):http://i.imgur.com/x03YN.png
它要麼或編寫自己的腳本,它會更可能做同樣的事情(如果不是被遺忘的調用validate什麼效果較差,天堂禁止在錯誤的地方留下孤立的數據庫條目,這會導致你在某個點或另一個地方陷入痛苦的世界),從負載/時間和效率角度來看。誠然,我無法想象它會花費很長時間,除非您的可配置產品數量爲已達數萬,或者您的服務器規格非常差,在這種情況下,它可能不會開始運行Magento。
編輯:
這應該讓你以編程方式做到這一點。 雖然注意到,Magentos的「Stock Item」工具在整個使用壽命期間都發生了很大變化,所以請務必測試您的版本以確保它的工作效率。
// 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...
}
}
在你Catalog > Manage Products
觀點:
選擇 '配置' 從電網下拉:
點擊網格中的表頭 '全選' :
選擇「更新屬性」,從下拉菜單中網格的頂部,然後單擊「提交」:
最後,您可以執行下一個屏幕大規模庫存更新。點擊屏幕左側的「庫存」選項卡,將它們全部設置爲「庫存」和「啓用」。
我忘了說 - 'programatically'!很難看到答案已經付出了多少努力!但我相信別人會從這裏發佈的答案中受益... – Theodores
你有你的答案,去看看在相關控制器中的動作背後是什麼。 –
我忘了說 - '編程'!非常感謝,但。 – Theodores
編輯我的原始答案以解決這個問題。 –