[PaaS のみ]{class="badge informative" title="Adobe Commerce on Cloud プロジェクト(Adobeが管理する PaaS インフラストラクチャ)およびオンプレミスプロジェクトにのみ適用されます。"}

MDVA-37234:買い物かごに品目を複数回追加すると、重複品目が作成される

MDVA-37234 パッチでは、同じ SKU に対して買い物かごに項目を複数回追加(並列リクエスト)すると、同じ買い物かご ID に対して重複した行項目が作成される問題が修正されています。 このパッチは、Quality Patches Tool (QPT) ​1.1.3 がインストールされている場合に使用できます。 パッチ ID は MDVA-37234。 この問題はAdobe Commerce 2.4.4 で修正される予定であることに注意してください。

影響を受ける製品とバージョン

Adobe Commerce バージョン用のパッチが作成されます。

Adobe Commerce(すべてのデプロイメント方法) 2.3.6、2.4.1、2.4.2

Adobe Commerce バージョンとの互換性:

Adobe Commerce(すべてのデプロイメント方法) 2.3.5 ~ 2.3.7-p1 および 2.4.1 ~ 2.4.2-p1

NOTE
パッチは、新しい Quality Patches Tool リリースを使用する他のバージョンにも適用される可能性があります。 パッチがAdobe Commerceのバージョンと互換性があるかどうかを確認するには、magento/quality-patches パッケージを最新バージョンに更新し、Quality Patches Tool: Search for patches page で互換性を確認します。 パッチ ID を検索キーワードとして使用して、パッチを見つけます。

問題

同じ SKU で買い物かごに項目を複数回追加すると(並列リクエスト)、同じ買い物かご ID で重複行項目が作成されます。

再現手順 :

  1. SKU = simple1 でシンプルな製品を作成します。

  2. 顧客を作成します。

  3. GraphQL リクエストを行うための顧客トークンを生成します。

    code language-graphql
    
     mutation {
         generateCustomerToken(
             email: "customer email"
             password: "customer password"
         )
         {
             token
         }
     }
    
    
  4. 手順 3 で説明したトークンを使用して、顧客用の空の買い物かごを作成します。

    code language-graphql
    
     mutation{
      createEmptyCart
     }
    
    
  5. 並行して 2 つの addSimpleProductsToCart リクエストを実行するスクリプトを作成します。 例:

    code language-#!/bin/bash
    
     curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer eyJraWQiOiIxIiwiYWxnIjoiSFMyNTYifQ.eyJ1aWQiOjEsInV0eXBpZCI6MywiaWF0IjoxNjIzOTUyNjcwLCJleHAiOjE2MjM5NTYyNzB9.-fh7ysqiQTAacdB3MVvaXzFE9AmKyfF8TsVmICLJoWI" -d '{"query" : "mutation { addSimpleProductsToCart( input: { cart_id: \"S8dCF7uan1POMy0qY0Hup7tEv1AhFGdY\" cart_items: [ { data: { quantity: 2 sku: \"simple1\" } } ] } ) { cart { items { id product { name sku } quantity } } } }"}' http://magento2.3.local/graphql &
     curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer eyJraWQiOiIxIiwiYWxnIjoiSFMyNTYifQ.eyJ1aWQiOjEsInV0eXBpZCI6MywiaWF0IjoxNjIzOTUyNjcwLCJleHAiOjE2MjM5NTYyNzB9.-fh7ysqiQTAacdB3MVvaXzFE9AmKyfF8TsVmICLJoWI" -d '{"query" : "mutation { addSimpleProductsToCart( input: { cart_id: \"S8dCF7uan1POMy0qY0Hup7tEv1AhFGdY\" cart_items: [ { data: { quantity: 1 sku: \"simple1\" } } ] } ) { cart { items { id product { name sku } quantity } } } }"}' http://magento2.3.local/graphql
    
    
  6. スクリプトを実行します。

期待される結果 :

買い物かごに作成されるのは、合計数量(この場合は 3 個)を持つ 1 つの製品明細のみです。

実際の結果 :

買い物かごに、同じ商品に対して 2 つの異なる行が作成されます。

パッチの適用

個々のパッチを適用するには、デプロイメントタイプに応じて次のリンクを使用します。

  • Adobe CommerceまたはMagento Open Source オンプレミス:Quality Patches Tool > 使用状況 ​ Quality Patches Tool ガイドに記載されています。
  • クラウドインフラストラクチャー上のAdobe Commerce:クラウドインフラストラクチャー上のCommerce ガイドの ​ アップグレードとパッチ ​/ パッチの適用」を参照してください。

関連資料

Adobe Commerce用の高品質パッチの詳細については、次を参照してください。

QPT で使用可能なその他のパッチについては、QPT で使用可能なパッチ ​ の節を参照してください。

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3