プログラムで製品グループの価格をクリア - Foreach()のために提供された無効な引数

magento.stackexchange https://magento.stackexchange.com/questions/106782

  •  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);
.

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top