![Przemysław Szczerbicki](https://static.goldenline.pl/user_photo_basic.jpg)
Przemysław
Szczerbicki
Programista,
freelancer
Temat: Masowa zmiana cen produktów
Witam,chciałem masowo zmienić ceny specjalne określonych produktów w bazie danych. Magento 1.4.0.1
Mam kod:
$request = $this->getRequest();
$intPercent = $request->getParam('percent', 5);
$collection = Mage::getModel('catalog/product');
$products_collection = $collection ->getCollection() ->setPage(0, 10)
//->addAttributeToSelect('*') ->addAttributeToSelect('entity_id')
->addAttributeToSelect('special_price')
->addAttributeToSelect('price')
->addFieldToFilter('sku',array('like'=>'AZY-%'))
->addFieldToFilter('special_price', array("neq"=>''));
foreach($products_collection as $product) {
$newPrice = round($product->getSpecialPrice()*(1.0+$intPercent/100.0), 2);
if($newPrice > 0.97*$product->getPrice()) { echo 'Za wysoka cena: '.$newPrice.' '.$product->getSpecialPrice().'-'.$product->getPrice().'<br />'; }
else {
try {
$product->save();
} catch (Exception $e){
echo $e->getMessage(); exit(0);
} } }
Niestety rzuca mi błędem:
Warning: Invalid argument supplied for foreach() in /home/.../app/code/core/Mage/Eav/Model/Entity/Abstract.php on line 995
Dlaczego nie mogę zapisać wprowadzonych zmian? Próbowałem też pobrać każdy produkt po kolei, ale to nic nie zmieniało.
Pobierałem też komplet danych ->addAttributeToSelect('*'), ale to też nic nie zmieniło.
pzdr.
Przemek
EDIT:
rozwiązane: http://www.wilsonhui.ca/web-development/product-update...Przemysław Szczerbicki edytował(a) ten post dnia 05.04.11 o godzinie 13:00