Magento EE 1.12 アプリケーションに関連付けられた 1 つの単純な製品を含む構成可能な製品があります。商品ページを見てみると、大丈夫です。製品ページを更新すると、設定可能な製品全体が在庫切れと表示されます。ストックステータスを再インデックスするまで、このままです。
データベースを調べて、在庫状況を再インデックスした後、製品に関連付けられた行は次のようになります。
+------------+------------+----------+--------+--------------+
| product_id | website_id | stock_id | qty | stock_status |
+------------+------------+----------+--------+--------------+
| 1013 | 1 | 1 | 0.0000 | 1 |
+------------+------------+----------+--------+--------------+
製品ページを読み込んだ後、同じ行は次のようになります。
+------------+------------+----------+--------+--------------+
| product_id | website_id | stock_id | qty | stock_status |
+------------+------------+----------+--------+--------------+
| 1013 | 1 | 1 | 0.0000 | 0 |
+------------+------------+----------+--------+--------------+
これにより、更新時に製品ページで在庫切れメッセージがトリガーされると思います. 私は多くのコードを掘り下げましたが、製品ページをロードすると構成可能な製品の在庫が減少する理由を理解できませんでした. 関連する単純な製品の在庫状況は、qty が 1000 で、stock_status が 1 です。
mysql の一般的なログを見ると、製品ページの読み込み時に次の行が 2 回表示されます。
UPDATE `cataloginventory_stock_status` SET `qty` = '0.0000', `stock_status` = '0' WHERE (product_id=1013) AND (website_id=1) AND (stock_id=1)
この更新プログラムがどのように呼び出されているかを調べます -
どんな助けでも大歓迎