2012-05-21 2 views
0

Другой вопрос Magento, Может ли кто-нибудь помочь мне с этим? im пытается указать диапазон product_id для обновления атрибутов, чтобы установить флаг «USE DEFAULT VALUE», но я все время получаю ошибки. Думаю, я пытаюсь установить диапазон неправильно.массовое обновление Magento «Use Defualt Value»

<?php 
include_once '.../app/Mage.php'; 
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); 
error_reporting (E_ALL^E_NOTICE); 

$prods = range(5490,5495); 

$product = Mage::getModel('catalog/product') 
->load($prods) 
->setStoreId(1) 
->setData('status', false) 
->setData('name', false) 
->setData('short_description', false) 
->save(); 
echo "successful"; 
?> 

Когда я запустить эту версию с помощью Daniel S,

<?php 
include_once '/home/sites/billyguyatts.com.au/docs/app/Mage.php'; 
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); 
error_reporting (E_ALL^E_NOTICE); 

$prods = range(5492,5498); 

$productCollection = Mage::getModel('catalog/product')->getCollection() 
->addAttributeToFilter('entity_id', array('in' => $prods)) 
->load(); 

$productCollection 
->setStoreId(1)  
->setDataToAll('status', false) 
->setDataToAll('name', false) 
->setDataToAll('short_description', false) 
->save(); 
echo "successful"; 
?> 

я получить успешный эхо, но не результат, когда я запустить его с

$productCollection->setDataToAll('status', false) 
    ->setData('name', false) 
->setData('short_description', false) 
    ->save(); 

Я получаю эту ошибку:

Fatal error: Call to undefined method Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection::setData()

ответ

0

Вы не можете использовать ни одну модель для загрузки нескольких продуктов. Используйте коллекцию:

$productCollection = Mage::getModel('catalog/product')->getCollection() 
    ->addAttributeToFilter('entity_id', array('in' => $prods)) 
    ->load(); 

$productCollection->setDataToAll('status', false) 
        ->... 
        ->... 
        ->save(); 
+0

Благодарим за ваш ответ. Как вы можете видеть, что я безнадежен в php, к сожалению, я все еще не могу заставить это работать, не уверен, что это фильтр атрибутов или setdatatoall, из-за которого он терпит неудачу. – user1399952