Question

Je suis en train d'en programmant clairement un produit du prix de groupe au sein d'un module personnalisé.Thisi s mon code:

Mage::setIsDeveloperMode(true); // for debug only
try
{
    $product = Mage::getModel('catalog/product')->load($productId);
    $product->setGroupPrice(null);
    $product->save();
}
catch (Exception $ex)
{
    echo "Error: ". $ex->getMessage();
}

Lorsque ce code est exécuté, j'obtiens l'exception suivante:

Avertissement:Invalid argument supplied for foreach() in /home/www-data/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php sur la ligne de 1180

Dans le system.log fichier, je vois beaucoup de ces entrées:

2016-03-17T18:01:06+00:00 ERR (3):Avertissement:Invalid argument fourni for foreach() in /home/www-data/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php sur la ligne de 1180 2016-03-17T18:01:06+00:00 ERR (3):Erreur Récupérable:L'Argument passé à 3 Mage_Catalog_Model_Resource_Abstract::_canUpdateAttribute() doit être de le type array, null donné, appelé dans /home/www-data/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php sur la ligne de 1225 et définis dans /home/www-data/public_html/app/code/core/Mage/Catalog/Model/Resource/Abstract.php sur la ligne 543 2016-03-17T18:01:06+00:00 ERR (3):Erreur Récupérable:L'Argument passé à 3 Mage_Eav_Model_Entity_Abstract::_canUpdateAttribute() doit être de la type array, null donné, appelé dans /home/www-data/public_html/app/code/core/Mage/Catalog/Model/Resource/Abstract.php sur la ligne 545 et définis dans /home/www-data/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php sur la ligne de 1254 2016-03-17T18:01:06+00:00 ERR (3):Avertissement:array_key_exists() s'attend à ce paramètre 2 pour être ensemble, null donné dans /home/www-data/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php sur la ligne de 1256

Toute idée de ce qui pourrait être la cause?Le même code sur mon dev magento installation fonctionne, mais dans la production de magento, cette erreur a commencé à apparaître, alors je suis un peu confus.

Était-ce utile?

La solution

Vous n'avez probablement avoir résolu ce problème déjà, mais pour d'autres personnes à la recherche pour la résolution, vous devez définir le magasin de la portée de la première.

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top