Produktgruppenpreise programmatisch löschen - Ungültiges Argument für foreach ()
-
29-09-2020 - |
Frage
Ich versuche, die Gruppenpreise eines Produkts in einem benutzerdefinierten Modul programmgesteuert zu löschen.Das ist mein 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();
}
Wenn dieser Code ausgeführt wird, erhalte ich die folgende Ausnahme:
Warnung:Ungültiges Argument für foreach () in / startseite / www-Daten / public_html / app / code / Kern / Magier / Eav / Modell / Entität / Zusammenfassung.PHP auf Linie 1180
In der system.log
datei, ich sehe viele dieser Einträge:
2016-03-17T18:01:06+00:00 ERR (3):Warnung:Ungültiges Argument angegeben für foreach () in / startseite / www-Daten / public_html / app / code / Kern / Magier / Eav / Modell / Entität / Zusammenfassung.PHP auf Zeile 1180 2016-03-17T18:01:06+00:00 ERR (3):Behebbarer Fehler:Argument 3 übergeben an Mage_Catalog_Model_Resource_Abstract::_canUpdateAttribute() muss von sein das Typ-Array, null angegeben, aufgerufen in / startseite / www-Daten / public_html / app / code / Kern / Magier / Eav / Modell / Entität / Zusammenfassung.PHP in Zeile 1225 und definiert in /zuhause /www-Daten / public_html / app / code / Kern / Magier / Katalog / Modell / Ressource / Zusammenfassung.PHP in Zeile 543 2016-03-17T18:01:06+00:00 ERR (3):Behebbarer Fehler:Argument 3 übergeben an Mage_Eav_Model_Entity_Abstract::_canUpdateAttribute() muss vom Typ sein typ Array, null angegeben, aufgerufen in /zuhause /www-Daten / public_html / app / code / Kern / Magier / Katalog / Modell / Ressource / Zusammenfassung.PHP in Zeile 545 und definiert in / startseite / www-Daten / public_html / app / code / Kern / Magier / Eav / Modell / Entität / Zusammenfassung.PHP in Zeile 1254 2016-03-17T18:01:06+00:00 ERR (3):Warnung:array_key_exists() erwartet, dass Parameter 2 ein Array ist, null angegeben in / startseite / www-Daten / public_html / app / code / Kern / Magier / Eav / Modell / Entität / Zusammenfassung.PHP auf Linie 1256
Irgendeine Idee, was das verursachen könnte?Der gleiche Code in meinem Entwickler-Magento-Setup funktioniert, aber in Produktions-Magento trat dieser Fehler auf, daher bin ich etwas verwirrt.
Lösung
Sie haben dieses Problem wahrscheinlich bereits gelöst, aber für andere Personen, die nach einer Lösung suchen, müssen Sie zuerst den Speicherbereich festlegen.
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);