プログラムで製品グループの価格をクリア - Foreach()のために提供された無効な引数
-
29-09-2020 - |
質問
カスタムモジュール内の製品のグループ価格をプログラムでクリアしようとしています。これは私のコード:
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();
}
.
このコードが実行されると、次の例外が発生します。
警告:foreach()に無効な引数() /home/www-data/public_html/app/code/core/mage/av/model/entity/abstract.php. 線1180
system.log
ファイルでは、これらのエントリの割り当てを見ます。
2016-03-17T18:01:06 + 00:00 Err(3):警告:無効な引数が指定された foreach() /home/www-data/public_html/app/code/core/mage/av/model/entity/abstract.php. 1180 2016-03-17T18:01:06 + 00:00 Err(3):回復可能なエラー: 引数3に渡されました MAGE_CATALOG_MODEL_RESOURCE_ABSTRACT :: _ CANUPDATEATTRIBUTE()はOでなければなりません 入力されたARRAY、IN /home/www-data/public_html/app/code/core/mage/av/model/entity/abstract.php. 1225行で定義されている /home/www-data/public_html/app/code/core/mage/catalog/model/resource/abstract.php. 543回線2016-03-17T18:01:06 + 00:00 Err(3):回復可能なエラー: 引数3に渡されました mage_eav_model_entity_abstract :: _ canupdateAttribute()は ARRAYを入力し、指定された、IN.と呼ばれます /home/www-data/public_html/app/code/core/mage/catalog/model/resource/abstract.php. 線545で定義されています /home/www-data/public_html/app/code/core/mage/av/model/entity/abstract.php. 1254ライン1254 2016-03-17T18:01:06 + 00:00エラー(3):警告: array_key_exists()は、パラメータ2を配列にすることを期待しています。 /home/www-data/public_html/app/code/core/mage/av/model/entity/abstract.php. 1256行目に
これを引き起こしているのは何ですか? Dev Magentoのセットアップの同じコードが機能しますが、プロダクションマージェントでは、このエラーが現れ始めましたので、少し混乱しています。
解決
あなたはおそらくこの問題をすでに解決したが、解像度を探している他の人々のために - あなたは最初にストアスコープを設定する必要がある。
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
.