[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}
ACSD-66139:非作用中購物車的GraphQL訂購失敗並出現「UNDEFINED」錯誤
ACSD-66139修補程式修正了以下問題:當訂購不存在的或非使用中的購物車時,GraphQL傳回 UNDEFINED 錯誤碼,而不是錯誤訊息轉譯時傳回的特定錯誤碼。 安裝Quality Patches Tool (QPT) 1.1.67時,即可使用此修補程式。 修補程式ID為ACSD-66139。 請注意,此問題已排程在Adobe Commerce 2.4.9中修正。
受影響的產品和版本
已為Adobe Commerce版本建立修補程式:
- Adobe Commerce (所有部署方法) 2.4.7-p5
與Adobe Commerce版本相容:
- Adobe Commerce (所有部署方法) 2.4.7 - 2.4.7-p6
NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將
magento/quality-patches
套件更新到最新版本,並在Quality Patches Tool:搜尋修補程式頁面上檢查相容性。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。問題
如果錯誤訊息已轉譯,GraphQL在訂購不存在的或非使用中的購物車時會傳回 UNDEFINED 錯誤碼,而不是特定錯誤碼。
要再現的步驟:
- 新增
app/i18n/Magento/de_DE/de_DE.csv
並包含下列錯誤字串轉譯:
"Could not find a cart with ID ""%masked_cart_id""","Oh noo, we have an UNDEFINED issue, see!",module,Magento_QuoteGraphQl
- 在[管理]面板中,移至 Stores > Settings > All Stores > Create Store View 以建立商店檢視。
- 將 Code 設為 test。
- 將
german
語言指派給新建立的存放區檢視。 - 執行
setup:upgrade
和setup:static-content:deploy -f
。 - 使用標頭
Store:test
執行下列GraphQL查詢:
mutation {
placeOrder(input: { cart_id: "test" }) {
orderV2 {
id
number
}
}
}
預期結果:
更正錯誤回應:
{
"errors": [
{
"message": "Oh noo, we have an UNDEFINED issue, see!",
"locations": [
{
"line": 2,
"column": 2
}
],
"path": [
"placeOrder"
],
"extensions": {
"category": "graphql-input",
"error_code": "CART_NOT_FOUND"
}
}
],
"data": {
"placeOrder": null
}
}
實際結果:
傳回的error_code
是 未定義:
{
"errors": [
{
"message": "Oh noo, we have an UNDEFINED issue, see!",
"locations": [
{
"line": 2,
"column": 2
}
],
"path": [
"placeOrder"
],
"extensions": {
"category": "graphql-input",
"error_code": "UNDEFINED"
}
}
],
"data": {
"placeOrder": null
}
}
套用修補程式
若要套用個別修補程式,請根據您的部署方法使用下列連結:
- Adobe Commerce或Magento Open Source內部部署: Quality Patches Tool 指南中的>使用狀況Quality Patches Tool。
- 雲端基礎結構上的Adobe Commerce:雲端基礎結構上的Commerce指南中的升級和修補程式>套用修補程式。
相關閱讀
若要進一步瞭解Quality Patches Tool,請參閱:
recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3