ACSD-45817:GraphQL产品突变会提供所有可配置变体
ACSD-45817修补程序修复了以下问题:特定存储的GraphQL products
突变返回所有可配置变体,包括那些未分配给所请求存储的变体。 安装Quality Patches Tool (QPT) 1.1.18时,此修补程序可用。 修补程序ID为ACSD-45817。 请注意,Adobe Commerce 2.4.4中已修复此问题。
受影响的产品和版本
为Adobe Commerce版本创建了修补程序:
- Adobe Commerce(所有部署方法) 2.4.3-p1
与Adobe Commerce版本兼容:
- Adobe Commerce(所有部署方法) 2.4.2 - 2.4.3-p3
NOTE
该修补程序可能适用于具有新的Quality Patches Tool版本的其他版本。 要检查修补程序是否与您的Adobe Commerce版本兼容,请将
magento/quality-patches
包更新到最新版本,并在Quality Patches Tool:搜索修补程序页面上检查兼容性。 使用修补程序ID作为搜索关键字来查找修补程序。问题
特定存储的GraphQL products
突变会返回所有可配置的变体,包括那些未分配给所请求存储的变体。
先决条件:
创建第2个网站、第2个商店和第2个商店视图。
重现步骤:
-
创建包含两个子产品的可配置产品:“configurable-a”和“configurable-b”。
-
将可配置产品分配给两个网站。
-
仅向第二个网站分配一个“可配置 — a”变体。
-
转到 店面,切换到第二个网站,然后打开可配置的产品。
-
确保只看到一个子选项:"configurable-a"。
-
使用
POST: /graphql
终结点和Headers: "store" = "new"
运行GraphQL查询code language-graphql { products(filter: { sku: { eq: "configurable" } }) { items { id attribute_set_id name sku __typename price_range{ minimum_price{ regular_price{ value currency } } } categories { id } ... on ConfigurableProduct { configurable_options { id attribute_id_v2 label position use_default attribute_code values { value_index label } product_id } variants { product { id name sku attribute_set_id ... on PhysicalProductInterface { weight } price_range{ minimum_price{ regular_price{ value currency } } } } attributes { uid label code value_index } } } } } }
预期的结果:
“configurable-b”变体未分配给第2个网站,因此不应显示在响应中。
实际结果:
响应中显示“configurable-b”变量。
应用修补程序
要应用单独的修补程序,请根据您的部署方法使用以下链接:
- 在开发人员文档中,参阅Adobe Commerce或Magento Open Source内部部署: 软件更新指南>应用修补程序。
- 云基础架构上的Adobe Commerce:我们的开发人员文档中的升级和修补程序>应用修补程序。
相关阅读
要了解有关Quality Patches Tool的更多信息,请参阅:
- 已发布高质量修补程序工具:我们支持知识库中用于自助提供高质量修补程序的新工具。
- 使用我们的支持知识库中的Quality Patches Tool,检查是否有针对您的Adobe Commerce问题的修补程序。
有关QPT中提供的其他修补程序的信息,请参阅我们的开发人员文档中的QPT中提供的修补程序。
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a