2012-10-30 48 views

回答

3

根據您的版本,從管理界面您可以選擇所有可配置類型的產品,然後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...                                                  
    }                                                           
} 
+0

我忘了說 - '編程'!非常感謝,但。 – Theodores

+1

編輯我的原始答案以解決這個問題。 –

6

在你Catalog > Manage Products觀點:

選擇 '配置' 從電網下拉:

order grid view config select

點擊網格中的表頭 '全選' :

select all

選擇「更新屬性」,從下拉菜單中網格的頂部,然後單擊「提交」:

enter image description here

最後,您可以執行下一個屏幕大規模庫存更新。點擊屏幕左側的「庫存」選項卡,將它們全部設置爲「庫存」和「啓用」。

enter image description here

+0

我忘了說 - 'programatically'!很難看到答案已經付出了多少努力!但我相信別人會從這裏發佈的答案中受益... – Theodores

+1

你有你的答案,去看看在相關控制器中的動作背後是什麼。 –

相關問題