Wenn Sie versuchen, ein Produkt zu laden,
$foundProduct = Mage::getModel('catalog/product')->load($sku, 'sku');
Wir erhalten den folgenden Fehler:
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
Irgendwelche Ideen, was falsch läuft?
magento-1.7
product
model
Matthias Jaekle
quelle
quelle
loadByAttribute
Verwendet eine Sammlung und filtert nach dem angegebenen Attribut. Dies bedeutet, dass die Beobachter für das Laden von Produkten nicht zutreffen und Sie nicht die vollständigen Daten mit Lagerbestand, Galerie usw. haben, wie Sie es mit hättenload()
.$product= Mage::getModel('catalog/product')->load(123456);
ist die richtige Methode, wobei 123456 die ID des Produkts ist.Sie könnten das
$product= Mage::getModel('catalog/product')->load('sku', 'mysku');
stattdessen versuchen , ich denke, die Reihenfolge Ihrer Argumentation war falsch.quelle