lorsque vous essayez de charger un produit,
$foundProduct = Mage::getModel('catalog/product')->load($sku, 'sku');
nous obtenons l'erreur suivante:
Fatal error:
Uncaught exception 'Exception' with message 'Warning: Invalid argument supplied for foreach()
in app/code/core/Mage/Eav/Model/Entity/Abstract.php on line 954' in app/code/core/Mage/Core/functions.php:245 Stack trace:
#0 app/code/core/Mage/Eav/Model/Entity/Abstract.php(954): mageCoreErrorHandler(2, 'Invalid argumen...', '/var/www/magent...', 954, Array)
#1 app/code/core/Mage/Catalog/Model/Resource/Abstract.php(698): Mage_Eav_Model_Entity_Abstract->load(Object(Mage_Catalog_Model_Product), '120x180 ES-bale...', 'sku')
#2 app/code/core/Mage/Core/Model/Abstract.php(225): Mage_Catalog_Model_Resource_Abstract->load(Object(Mage_Catalog_Model_Product), '120x180 ES-bale...', 'sku')
#3 updatemagento.php(197): Mage_Core_Model_Abstract->load('120x180 ES-bale...', 'sku')
#4 {main} thrown in app/code/core/Mage/Core/functions.php on line 245
Des idées ce qui ne va pas?
magento-1.7
product
model
Matthias Jaekle
la source
la source
loadByAttribute
utilise une collection et des filtres par l'attribut donné. Cela signifie que les observateurs du chargement des produits ne s'appliquent pas et que vous n'avez pas les données complètes avec le stock, la galerie, etc. comme vous le feriez avecload()
.$product= Mage::getModel('catalog/product')->load(123456);
est la bonne méthode, où 123456 est l'ID du produit.Vous pouvez essayer cela à la
$product= Mage::getModel('catalog/product')->load('sku', 'mysku');
place, je pense que l'ordre de votre argument était faux.la source