「国を許可」で何も選択されていない場合、ユーザーが買い物かごに製品を追加できない

この記事では、「国を許可 が選択されていない場合に買い物かごに商品を追加できない、PHP 8.1 を使用した既知のAdobe Commerce 2.4.4 の問題に対するパッチを提供し す。

説明 description

環境

Adobe Commerce 2.4.4 と PHP 8.1

問題/症状

「国を許可 が選択されていない場合、ユーザーは買い物かごに製品を追加でき せん。

再現手順 :

  1. Commerce Admin にログインします。
  2. ストア に移動 > 設定 > 一般 > 国オプション .
  3. 国を許可 フィールドですべてのオプションを選択解除します。
  4. 設定を保存 」をクリックして、設定を保存します。
  5. ストアフロントに移動して、買い物かごに製品を追加してみてください。

期待される結果:

買い物かごに製品を追加できます。

実際の結果:

買い物かごに製品を追加することはできません。 次のコンソールエラーが表示されます。

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 を渡すことは非推奨にするというエラーが発生し、適切に動作しません

解決策 resolution

ソリューション

この問題を解決するには、次のパッチを適用します。

AC-2655-2-4-4-patch.zip

パッチの適用方法

手順については、Commerce on Cloud ガイドの パッチの適用を参照してください。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f