MDVA-37748:GraphQL クエリは、共有カタログに割り当てられていない商品を返します
MDVA-37748 パッチは、GraphQLのクエリーが共有カタログに割り当てられていない商品を返す問題を修正します。 このパッチは、Quality Patches Tool (QPT)1.1.5 がインストールされている場合に使用できます。 パッチ ID は MDVA-37748。 この問題はAdobe Commerce 2.4.4 で修正される予定であることに注意してください。
影響を受ける製品とバージョン
Adobe Commerce バージョン用のパッチが作成されます。
Adobe Commerce(すべてのデプロイメント方法) 2.4.2
Adobe Commerce バージョンとの互換性:
Adobe Commerce(すべてのデプロイメント方法) 2.4.2 ~ 2.4.2-p2
magento/quality-patches
パッケージを最新バージョンに更新し、Quality Patches Tool: Search for patches page で互換性を確認します。 パッチ ID を検索キーワードとして使用して、パッチを見つけます。問題
GraphQL クエリは、共有カタログに割り当てられていない製品を返します。
前提条件 :
B2B モジュールがインストールされている。
再現手順 :
-
2 つの製品を作成してカテゴリに割り当てます。
- 製品 1 - パブリック
- 製品 2
-
「Product 1 - Public」を「Default (General)」共有カタログに割り当てます。
-
追加のカスタム共有カタログを作成して、「製品 2」に割り当てます。
-
新しい会社を作成して、手順 3 で作成した追加の共有カタログに割り当てます。
-
Cron 実行/再インデックス作成後、フロントエンドで、ログインしていない場合に「製品 1 - パブリック」が表示されることを検証します。
-
手順 4 で作成した会社の管理者としてログインし、「Product 2」のみが表示されることを確認します。
-
次のGraphQL クエリを使用して、認証トークンをリクエストします。
code language-graphql mutation { generateCustomerToken( email: "company.admin@exapmle.test" password: "password" ) { token } }
-
ヘッダー Authorization Bearer value-of-the-token を追加し、次のGraphQL クエリを実行します。
code language-graphql { products( filter: {}, pageSize: 100, currentPage: 1 sort: {} ) { total_count page_info { page_size current_page } aggregations { attribute_code count label options { label value count } } items { name sku created_at updated_at stock_status description {html} short_description {html} url_key url_path price_tiers{ final_price{ value currency } discount{ amount_off percent_off } quantity } price_range { maximum_price { regular_price { value } final_price { value } } minimum_price { regular_price { value } final_price { value } } } image { url } thumbnail { url } small_image { url } media_gallery { url } ... on ConfigurableProduct { configurable_options { id label position use_default attribute_code values { value_index label swatch_data { value } } product_id } variants { product { id name sku ​#margin ​#margin_percentage image { url } small_image { url } thumbnail { url } media_gallery{ url } attribute_set_id ... on PhysicalProductInterface { weight } price_range { minimum_price { regular_price { value currency } } } } attributes { label code value_index } } } }
期待される結果 :
GraphQLから返されるカウントと商品は、ログインしたユーザーに関連付けられた共有カタログに割り当てられた商品のみを考慮します。
実際の結果 :
「Product 2」のみが返されますが、total_count
には 2 つが表示されます。
{
"data": {
"products": {
"total_count": 2,
"page_info": {
"page_size": 100,
"current_page": 1
},
"aggregations": [
{
"attribute_code": "price",
"count": 2,
"label": "Price",
"options": [
{
"label": "0-100",
"value": "0_100",
"count": 1
},
{
"label": "100-200",
"value": "100_200",
"count": 1
}
]
},
{
"attribute_code": "category_id",
"count": 1,
"label": "Category",
"options": [
{
"label": "Cat 1",
"value": "3",
"count": 2
}
]
}
],
"items": [
{
"name": "Product 2",
"sku": "Product 2",
"created_at": "2021-05-12 10:51:44",
"updated_at": "2021-05-12 11:03:24",
"stock_status": "IN_STOCK",
"description": {
"html": ""
},
"short_description": {
"html": ""
},
"url_key": "product-2",
"url_path": null,
"price_tiers": [
{
"final_price": {
"value": 90,
"currency": "USD"
},
"discount": {
"amount_off": 10,
"percent_off": 10
},
"quantity": 1
}
],
"price_range": {
"maximum_price": {
"regular_price": {
"value": 100
},
"final_price": {
"value": 90
}
},
"minimum_price": {
"regular_price": {
"value": 100
},
"final_price": {
"value": 90
}
}
},
"image": {
"url": "../pub/static/version1620816308/frontend/Magento/luma/en_US/Magento_Catalog/images/product/placeholder/image.jpg"
},
"thumbnail": {
"url": "../pub/static/version1620816308/frontend/Magento/luma/en_US/Magento_Catalog/images/product/placeholder/thumbnail.jpg"
},
"small_image": {
"url": "../pub/static/version1620816308/frontend/Magento/luma/en_US/Magento_Catalog/images/product/placeholder/small_image.jpg"
},
"media_gallery": []
}
]
}
}
}
パッチの適用
個々のパッチを適用するには、デプロイメント方法に応じて、次のリンクを使用します。
- Adobe CommerceまたはMagento Open Sourceオンプレミス:開発者向けドキュメントの Software Update Guide > Apply Patches
- クラウドインフラストラクチャー上のAdobe Commerce:開発者向けドキュメントの アップグレードとパッチ/パッチの適用。
関連資料
品質向上パッチツールの詳細については、次を参照してください。
QPT で使用可能なその他のパッチについては、QPT で使用可能なパッチの節を参照してください。