MDVA-39031:割り当てられていない商品をGraphQL経由で買い物かごに追加できる

MDVA-39031 パッチを適用すると、対象の Web サイトに商品が割り当てられていない場合でも、GraphQLを介して買い物かごに商品を追加することが可能である問題が解決されます。 このパッチは、 品質向上パッチツール(QPT) 1.1.6 がインストールされています。 パッチ ID は MDVA-39031。 この問題はAdobe Commerce 2.4.4 で修正される予定であることに注意してください。

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

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

  • Adobe Commerce(すべてのデプロイメント方法) 2.4.2-p1

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

  • Adobe Commerce(すべてのデプロイメント方法) 2.4.2 - 2.4.3-p1
NOTE
パッチは、新しい Quality Patches Tool リリースを使用する他のバージョンにも適用される可能性があります。 パッチがお使いのAdobe Commerceのバージョンと互換性があるかどうかを確認するには、 magento/quality-patches を最新バージョンにパッケージ化し、 Quality Patches Tool:パッチの検索ページ. パッチ ID を検索キーワードとして使用して、パッチを見つけます。

問題

GraphQLを介した買い物かごへの商品の追加は、対象の web サイトに割り当てられていない場合でも可能です。

再現手順:

  1. セカンダリ web サイトを作成します。

  2. 製品を作成してプライマリ web サイトに割り当てます。

  3. GraphQLを使用して、セカンダリ web サイト用に空の買い物かごを作成します。

    code language-graphql
    
     mutation{
      createEmptyCart
     }
    
    

    次のようなヘッダーを使用します。

    code language-graphql
    
     {
       "Store":"en_au"
     }
    
    
  4. プライマリ Web サイトに割り当てられている製品をセカンダリ Web サイトの買い物かごに追加します。

    code language-graphql
    
     mutation {
       addProductsToCart(
           cartId: "XHrUN2nJ37OqDByhtL0VC8OxYsEZs41c"
           cartItems: [
             {
               quantity: 1
               sku: "p1"
             }
           ]
         ) {
           cart {
            items {
             product {
               name
               sku
             }
             quantity
           }
         }
       }
     }
    
    

    ヘッダー

    code language-graphql
    
     {
       "Store":"en_au"
     }
    
    

期待される結果:

商品は、ヘッダーで定義されたストアに割り当てられていなかったので、買い物かごに追加されません。

実際の結果:

商品が正常に買い物かごに追加されます。

パッチの適用

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

関連資料

品質向上パッチツールの詳細については、次を参照してください。

QPT で使用可能なその他のパッチについては、を参照してください。 QPT で使用可能なパッチ 開発者向けドキュメントを参照してください。

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a