php - 以编程方式更新 Magento 中的产品价格 - 为 foreach() 提供的参数无效

标签 php magento

我正在尝试以编程方式更新自定义模块中的产品价格。这是我的代码:

Mage::setIsDeveloperMode(true); // for debug only
try
{
    $product = Mage::getModel('catalog/product')->load($productId);
    $product->setPrice($newPrice);
    $product->save();
}
catch (Exception $ex)
{
    echo "Error: ". $ex->getMessage();
}

执行此代码时,出现以下异常:

Warning: Invalid argument supplied for foreach() in /home/www-data/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php on line 1180

system.log 文件中,我看到了这些条目的分配:

2016-03-17T18:01:06+00:00 ERR (3): Warning: Invalid argument supplied for foreach() in /home/www-data/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php on line 1180 2016-03-17T18:01:06+00:00 ERR (3): Recoverable Error: Argument 3 passed to Mage_Catalog_Model_Resource_Abstract::_canUpdateAttribute() must be of the type array, null given, called in /home/www-data/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php on line 1225 and defined in /home/www-data/public_html/app/code/core/Mage/Catalog/Model/Resource/Abstract.php on line 543 2016-03-17T18:01:06+00:00 ERR (3): Recoverable Error: Argument 3 passed to Mage_Eav_Model_Entity_Abstract::_canUpdateAttribute() must be of the type array, null given, called in /home/www-data/public_html/app/code/core/Mage/Catalog/Model/Resource/Abstract.php on line 545 and defined in /home/www-data/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php on line 1254 2016-03-17T18:01:06+00:00 ERR (3): Warning: array_key_exists() expects parameter 2 to be array, null given in /home/www-data/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php on line 1256

知道是什么原因造成的吗?我的开发 magento 设置中的相同代码有效,但在生产 magento 中,此错误开始出现,所以我有点困惑。

最佳答案

您可以尝试设置商店:

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

关于php - 以编程方式更新 Magento 中的产品价格 - 为 foreach() 提供的参数无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36068795/

相关文章:

php - Eloquent 将 POINT 数据返回为 UTF8

php - Angular Controller 无法与 PHP 和 MySQLi 配合使用

php - Magento - 类别在目录中显示不正确

mysql - SQLSTATE[42S02] : Base table or view not found: 1146 Table 'd72709_nimrod.api2_acl_attribute' doesn't exist

php - Magento 客户注册 'Honey Pot' 验证码

php - 我在数据库上的PHP代码在Xampp v3.2.2上不起作用?

php - FindBy ('myvar' => $array) 无法在 Symfony3 中使用 mongoDbOdm?

php - 忽略正在搜索的标点符号

Magento 1.7 验证码模块

Magento - 何时使用 Mage::getResourceModel