[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}
ACSD-64149:僅編輯一個日期時,可以儲存具有Date range條件的客戶區段
ACSD-64149修補程式修正了僅編輯其中一個日期時,具有日期範圍條件的客戶區段可以儲存的問題。 安裝Quality Patches Tool (QPT) 1.1.60時,即可使用此修補程式。 修補程式ID為ACSD-64149。 請注意,此問題已排程在Adobe Commerce 2.4.8中修正。
受影響的產品和版本
已為Adobe Commerce版本建立修補程式:
- Adobe Commerce (所有部署方法) 2.4.6-p8
與Adobe Commerce版本相容:
- Adobe Commerce (所有部署方法) 2.4.4 - 2.4.7-p4
magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。問題
編輯現有客戶區段時,若該客戶區段具有由日期範圍指定的購物車內產品的條件,消費者matchCustomerSegmentProcessor會失敗並出現SQL錯誤。
要再現的步驟:
-
確定消費者
matchCustomerSegmentProcessor正在執行:code language-bash $ bin/magento que:cons:st matchCustomerSegmentProcessor -
移至 Magento backend。
-
前往 Customers > Segments。
-
按一下 Add Segment。
-
輸入 Segment Name,在 Assigned to Website 下選取網站,並確定 Status 設定為 作用中。
-
按一下 Save and Continue Edit。
-
移至 Conditions 標籤並新增條件: 產品{} > {}產品清單{}。
-
為 Date range 新增子條件並設定有效的 Date range。
-
按一下 Date range 旁的綠色確認按鈕。
-
再按一下 Date range、選取日期選擇器、編輯其中一個日期值,並按一下綠色按鈕進行確認。
預期結果:
Date range 選擇器不應在編輯時新增時間至日期。
實際結果:
-
Date range 選擇器會將時間新增至日期:
- 一個日期只有日期,而另一個日期同時有指定的日期和時間。
-
記錄中出現下列錯誤:
code language-none report.CRITICAL: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 2, query was: SELECT `item`.`quote_id` FROM `quote_item` AS `item` INNER JOIN `quote` AS `list` ON item.quote_id = list.entity_id WHERE (list.is_active = 1) AND () [] []
套用修補程式
若要套用個別修補程式,請根據您的部署方法使用下列連結:
- Adobe Commerce或Magento Open Source內部部署: Quality Patches Tool 指南中的>使用狀況Quality Patches Tool。
- 雲端基礎結構上的Adobe Commerce:雲端基礎結構上的Commerce指南中的升級和修補程式>套用修補程式。
相關閱讀
若要進一步瞭解Quality Patches Tool,請參閱: