En programmant produit de prix de groupe - Invalid argument supplied for foreach()
-
29-09-2020 - |
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.
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);