「国を許可」で何も選択されていない場合、ユーザーが買い物かごに製品を追加できない
この記事では、「国を許可」が選択されていない場合に商品を買い物かごに追加できない、PHP 8.1 を使用した既知のAdobe Commerce 2.4.4 の問題に対するパッチを提供します。
影響を受ける製品とバージョン
Adobe Commerce 2.4.4 と PHP 8.1
問題
「国を許可」が選択されていない場合、ユーザーは買い物かごに製品を追加できません。
再現手順 :
- Commerce Admin にログインします。
- ストア/設定/一般/国オプション に移動します。
- 国を許可 フィールドですべてのオプションを選択解除します。
- 「設定を保存」をクリックして、設定を保存します。
- ストアフロントに移動して、買い物かごに製品を追加してみてください。
期待される結果:
買い物かごに製品を追加できます。
実際の結果:
買い物かごに製品を追加することはできません。 次のコンソールエラーが表示されます。
Failed to load resource: the server responded with a status of 400 (Bad Request)
customer-data.js:87 Uncaught Error: [object Object]
at Object.<anonymous> (customer-data.js:87:23)
at fire (jquery.js:3500:50)
at Object.fireWith [as rejectWith] (jquery.js:3630:29)
at done (jquery.js:9798:30)
at XMLHttpRequest.<anonymous> (jquery.js:10057:37)
原因:
複数選択設定で選択した項目がない場合、Adobe Commerce設定は null
を取得します。 この設定は、8.1 より前の PHP バージョンで正常に処理された場合に有効になります。しかし、PHP 8.1 では、「PHP 8.1 の内部関数の nullable でない引数に null を渡すのは非推奨にする」というエラーが原因で正しく動作しません
解決策
この問題を解決するには、次のパッチを適用します。
パッチの適用方法
手順については、サポートナレッジベースの Adobe Commerceが提供する Composer パッチの適用方法を参照してください。
役に立つリンク
クラウドインフラストラクチャー上のAdobe Commerceにカスタムパッチを適用するについては、開発者向けドキュメントを参照してください。
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a