Precios del Grupo de Productos Borrar programáticamente: argumento no válido suministrado para foreach ()
-
29-09-2020 - |
Pregunta
Estoy tratando de borrar programáticamente los precios del grupo de un producto dentro de un módulo personalizado. Este es mi código:
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();
}
Cuando este código se ejecuta, obtengo la siguiente excepción:
ADVERTENCIA: Argumento no válido suministrado para foreach () en /home/www-data/public_html/app/code/core/mage/eav/model/entity/abstract.php en la línea 1180
En el archivo system.log
, veo asignar estas entradas:
2016-03-17T18: 01: 06 + 00: 00 ERR (3): ADVERTENCIA: Argumento no válido suministrado para foreach () en /home/www-data/public_html/app/code/core/mage/eav/model/entity/abstract.php En la línea 1180 2016-03-17T18: 01: 06 + 00: 00 ERR (3): Error recuperable: El argumento 3 pasó a Mage_catalog_model_resource_abstract :: _ canupdateattribute () debe ser de La matriz de tipo, nula dada, llamada /home/www-data/public_html/app/code/core/mage/eav/model/entity/abstract.php en la línea 1225 y se define en /home/www-data/public_html/app/code/core/mage/catalog/model/resource/abstract.php En la línea 543 2016-03-17T18: 01: 06 + 00: 00 ERR (3): Error recuperable: El argumento 3 pasó a Mage_eav_model_entity_abstract :: _ canupdateattribute () debe ser de la Tipo de matriz, nulo dado, llamado /home/www-data/public_html/app/code/core/mage/catalog/model/resource/abstract.php en la línea 545 y se define en /home/www-data/public_html/app/code/core/mage/eav/model/entity/abstract.php En la línea 1254 2016-03-17T18: 01: 06 + 00: 00 ERR (3): ADVERTENCIA: array_key_exists () espera que el parámetro 2 sea matriz, nulo dado en /home/www-data/public_html/app/code/core/mage/eav/model/entity/abstract.php en la línea 1256
¿Alguna idea de qué podría estar causando esto? El mismo código en My Dev Magento Configuración funciona, pero en producción Magento, este error comenzó a aparecer, por lo que estoy un poco confundido.
Solución
Probablemente ya ha resuelto este problema, pero para otras personas que buscan una resolución, primero debe establecer el alcance de la tienda.
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);