2

デフォルトの動作:製品の数量が0の場合、「在庫切れ」メッセージが表示されます。製品の在庫がある場合(在庫はSAPによって更新されます)、「在庫切れ」メッセージは自動的に無効になります。

カスタム動作:ただし、「カスタム在庫切れ」メッセージが選択され、製品が在庫になっている場合、何らかの理由で「カスタム在庫切れ」メッセージは無効になりません。これは、製品で明示的に実行する必要があります。

-

解決策を探した後、1つのオプションは、「在庫切れ」の製品を処理する拡張機能を購入/インストールすることですが、これに社内で取り組む方法を見つけた人はいますか?

4

1 に答える 1

1

qty> 0の場合、更新中にis_in_stockフラグを「1」に設定する必要があります。コードでこれが不可能な場合は、在庫がゼロより大きいすべての商品を選択し、is_in_stock=1に設定する必要があります。これをスタンドアロンスクリプトとして実行できます。モジュールを作成し、そのモジュールをcronジョブに配置することでパフォーマンスが低下することはありません。このジョブは、更新が完了した後にチャイムを鳴らします。擬似コードは次のとおりです。

$stockCollection = Mage::getModel('cataloginventory/stock_item')->getCollection()->addFieldToFilter('qty', array('gteq' => 1));

foreach($stockCollection as $item) {
    $item->setIsInStock(1)->save();
}
于 2012-10-08T19:46:02.213 に答える