Adobe Commerce 2.4.6發行說明
Adobe Commerce 2.4.6推出對PHP 8.2的支援。PHP 8.1仍完全受支援,但對PHP 7.4的支援已移除。 其中包括顯著的效能與擴充性增強功能。 已最佳化大量購物車作業和類別樹狀結構轉譯回應的GraphQL作業。 此發行版本推出Adobe Commerce擴充功能中繼資料。
此版本包含300多項品質修正和增強功能。 核心撰寫器相依性和協力廠商程式庫已升級至與PHP 8.2相容的最新版本。
其他發行資訊
雖然這些功能的程式碼已與Adobe Commerce核心程式碼的發行版本整合,但其中幾個專案(例如B2B、頁面產生器和Progressive Web Application(PWA) Studio)也獨立發行。 這些專案的錯誤修正記錄在每個專案檔案中提供的個別專案特定發行資訊中。
Adobe Commerce 2.4.6重要功能
請檢視此版本中的下列重點專案。
安全性增強功能
此版本包含八項安全性修正和平台安全性改善。
目前尚未發生與這些問題相關的已確認攻擊。 但是,某些漏洞可能會被用來存取客戶資訊或接管管理員工作階段。 這些問題大多需要攻擊者先取得Admin的存取權。 因此,我們提醒您採取一切必要步驟來保護您的管理員,包括但不限於這些工作:
- IP允許清單
- 雙因素驗證
- 使用VPN
- 使用唯一位置而非
/admin
- 良好的密碼衛生
請參閱Adobe安全性公告,瞭解這些已修正問題的最新討論內容。
其他安全性增強功能
此版本的安全性改善專案可改善對最新安全性最佳實務的合規性,包括:
-
已透過對網格檢視、大量動作和匯出中的動作進行更具體的稽核,解決了管理員動作記錄中的差距。
-
在付款處理期間發生未預期的錯誤時,reCAPTCHA驗證不會在結帳期間失敗。 GitHub-35093
-
新的系統組態,當管理員使用者變更其電子郵件時,需要電子郵件確認。 為了減少網站漏洞,新增了新的系統組態設定(預設為停用),以在管理員使用者變更電子郵件時要求確認電子郵件: Stores > Settings:Configuration > Customers > Customer Configuration > Account Information Options > Require email confirmation if an email has been changed。 啟用此選項後,每當管理員使用者變更其電子郵件地址時,應用程式都會要求電子郵件確認。 下列模組受到此變更的影響:
Magento_Customer
。
平台增強功能
Adobe Commerce 2.4.6推出對PHP 8.2的支援。PHP 8.1仍完全受支援。
PHP 7.4支援已從此版本中移除。 您無法在PHP 7.4上執行Adobe Commerce 2.4.6。
Adobe Commerce 2.4.6現在支援:
-
Composer 2.2.x.已移除Composer 1.x。
-
Redis 7.0.x。雖然與Redis 6.2的相容性依然存在,我們建議將此版本部署為Redis 7.0.x,因為Redis 6.2預期將於2024年結束生命週期。
-
OpenSearch現在支援作為Adobe Commerce內部部署和雲端部署的預設搜尋引擎。 支援作為Magento Open Source的獨立搜尋引擎。 此版本支援OpenSearch v2.x,並已經過OpenSearch 2.5測試。雖然與OpenSearch 1.x仍保持相容性,我們建議將此版本與OpenSearch 2.x搭配使用。您可以在雲端和內部部署搜尋引擎必要條件上安裝並執行Adobe Commerce和OpenSearch 2.xMagento Open Source2.4.6。
-
Elasticsearch8.x。請參閱升級Elasticsearch。
-
MariaDB 10.6 (LTS版本)。 此版本仍與MariaDB 10.4相容,但建議您升級至MariaDB 10.6。
其他升級和取代
-
DHL結構描述已從v6.2移轉至v10.0。
-
過時的JavaScript程式庫已更新至最新版本,且已移除過時的相依性。 這些變更可回溯相容。
-
PHP 7.4相容性已從Commerce程式碼庫中移除。
-
Symfony相依性已升級至新的LTS版本。 相依性包括:
friendsofphp/php-cs-fixer
symfony/console
symfony/event-dispatcher
symfony/finder
symfony/process
web-token/jwt-framework
-
jquery-migrate
已從Commerce程式碼基底中移除。 GitHub-21406 -
已將
jQuery/fileUpload
資料庫升級至v10.32。 -
已從程式碼基底中移除已到期的Zend架構(ZF1)元件。 請參閱不向後相容的變更標示.
-
已更新Laminas相依性以支援PHP 8.2。
-
已移除
laminas/laminas-dependency-plugin
Composer外掛程式。 GitHub-36515 -
已將
Zend_Filter
取代為laminas/laminas-filter
。 -
將
web-token/jwt-framework
升級至v3.0.5。 (最新版本) -
已將
allure-framework/allure-phpunit
升級至v2.x。 -
已將
Chart-js
資料庫升級至v3.9.1
效能與擴充性增強功能
-
改善影響許多客戶區段的作業效能。 商戶可透過啟用新的組態設定,改善涉及100多個客戶區段的營運效能。 可視需要停用 Real-time Check if Customer is Matched by Segment 設定,以減少每個客戶區段對客戶的驗證,藉此縮短處理時間。 檢視客戶區段驗證。
-
新的系統組態設定,用於限制產品格線 中顯示的產品數目。 商戶可以使用新的 Limit Number of Products in Grid 組態設定來改善產品格線效能。 此限制依預設會設定為20000用,且僅影響UI元件使用的產品集合。 限制顯示的產品數目,可提升填入超過200,000項產品的網格的作業效能。 請參閱網格中產品數量限制
-
已改善匯入效能(每分鐘最多100,000筆記錄)。 商家可使用新的
POST /rest/<store_view_code>/V1/import/csv
REST API端點將資料匯入Adobe Commerce。 此端點提供與管理員匯入功能相同的功能,並支援使用CSV檔案來建立、更新及移除產品、產品定價和客戶實體。 檢視匯入資料。 -
透過負載平衡改善高輸送量訂單處理效能。 雲端基礎結構上的Adobe Commerce 2.4.6客戶如果同時有大量訂單(每分鐘1000個訂單),現在可以平衡不同節點上資料庫的負載,以改善訂單處理效能。 商家可以為MySQL資料庫和Redis執行個體啟用次要連線,以重新平衡此負載。 檢視高輸送量訂單處理
Adobe Commerce擴充功能中繼資料
此版本推出Adobe Commerce擴充功能中繼套件v1.1.0,自動將特定Adobe Commerce擴充功能與此核心版本整合。 執行composer update
時,會安裝此中繼封裝中包含的這些擴充功能版本,在升級至最新核心版本時,可簡化升級這些擴充功能的程式。 這些擴充功能仍會維持獨立的發行排程。
Adobe Commerce 2.4.6的Adobe Commerce擴充功能中繼資料包含下列兩個擴充功能:
- Bolt Quick Checkout
- Adobe Commerce的Adobe I/O活動
此擴充功能中繼資料的未來版本將包含其他擴充功能。
Adobe Commerce的Adobe I/O事件
Adobe Commerce的Adobe I/O事件可擷取Commerce事件,並將資料從Adobe Commerce傳輸至其他Adobe系統。 開發人員可以在Adobe Developer App Builder中建立雲端原生應用程式,訂閱詳細目錄更新、訂單狀態變更和價格更新等Commerce事件。 開發人員可以使用此功能交換資料,以協調其關鍵任務系統中的整個購買者歷程。
協助工具更新
此版本的重點在於在Venia (PWA)上建立更易感知、操作、可理解和強大的店面體驗。 這些增強功能包括:
- Sign in 按鈕的視覺文字標籤現在符合其可存取的名稱。 (最佳實務建議讓UI元素的存取許可權名稱以可見的標籤文字開頭。)
- 描述性可存取名稱已新增到整個店面的按鈕中。
- 已將口頭描述標籤新增至搜尋篩選中的 Has Video 核取方塊。
- 僅使用鍵盤的使用者現在可以存取店面的所有頁面功能。 過去,購物者無法僅使用按鍵來存取子導覽連結。
Adobe Commerce與Adobe IMS整合
下列Adobe IMS模組已與Adobe Commerce 2.4.6核心程式碼解耦,現在封裝為個別的中繼套件:
adobe-ims
adobe-ims-api
admin-adobe-ims
新的adobe-ims-metapackage
v2.2.0已與Adobe Commerce 2.4.6整合。此版本未變更任何功能。
B2B
GraphQL API現在會完整顯示「公司採購單」功能。 此發行版本引進了兩個GraphQL結構描述:
- 採購訂單GraphQL結構涵蓋B2B公司使用者購買Order Management功能,例如建立、編輯和刪除採購訂單。 請參閱採購單(B2B)。
- 採購單規則GraphQL結構描述可讓您建立、編輯和刪除核准規則,以及手動驗證採購單。 請參閱採購單核准規則(B2B)。
此版本包含多項錯誤修正。 請參閱B2B發行說明。
Braintree
- 義大利和西班牙的 Pay Later 按鈕和橫幅(訊息)已啟用Braintree。
- 已啟用PayPal儲存庫的PayLater傳訊。
- 新增詐騙防護和ACH網頁鉤點。 當Braintree中做出風險決策時,就會觸發詐騙防護Web勾點。 當ACH付款的狀態更新為
settled
或settlement decline
時,就會觸發ACH網頁連結。
- 已新增LPM (本機付款方法) Web勾點。
GraphQL
GraphQL效能增強功能包括:
已改善查詢已啟用類別許可權的類別時的回應時間。 查詢已啟用類別許可權且包含許多客戶群組或共用類別之類別中的產品時,回應時間已有所改善。 支援此效能改善的程式碼變更包括:
- GraphQL解析器操作已最佳化。
- 資料提供者不再針對每個正在處理的新產品重新設定執行階段快取資料,進而改善效能。
- 已在GraphQL解析程式中最佳化產品許可權處理。 產品許可權現在已改為根據產品套用至產品集合。
- 已在
addProductsToCart
突變中讀取共用目錄中的最佳化許可權。 - 產品許可權已透過產品內嵌片段最佳化。
類別樹狀結構演算的最佳化效能。 categoryList
查詢已最佳化,以支援具有大量類別的客戶。 使用此查詢來搜尋超過1500個類別(包含最多5個層級的巢狀子類別)的商家將會注意到效能改善。 透過移除不必要的方法呼叫、改善類別樹狀結構的快取,以及遞回載入類別資料,改善透過重構程式碼來載入類別子系的方式。 支援此效能改善的程式碼變更包括:
- 已改善類別模型的自訂屬性中繼資料擷取。
- 類別ID擷取已改善,且
getChildren
個呼叫已減少。 - 類別子系載入已改善。
減少大量購物車作業查詢回應時間。 當新增最多500個簡單且可設定的產品時,「新增產品」變動已經過最佳化,以提升查詢效能。 套裝產品不受影響。 最佳化的變動包括addProductsToCart
、addConfigurableProductsToCart
、addDownloadableProductsToCart
、addSimpleProductsToCart
、addVirtualProductsToCart
、addWishlistItemsToCart
和updateCartItems
。
客戶查詢現在支援排序功能。 customer
查詢的orders
輸出物件現在包含排序欄位。 您現在可以依訂單編號或建立日期,以遞增或遞減順序來排序訂單。
新的變動:
deleteCustomer
頁面產生器
Page Builder v.1.7.3與Adobe Commerce 2.4.6相容。
PWA Studio
PWA Studio v.13.0.x與Adobe Commerce 2.4.6相容。其中包含多項改善協助工具的增強功能。 如需有關錯誤修正的資訊,請參閱PWA Studio版本。 如需PWA Studio版本及其相容的Adobe Commerce核心版本的清單,請參閱版本相容性。
已知問題
問題: New Relic目前與PHP 8.2不相容。執行New Relic的部署可以在PHP 8.1上執行Adobe Commerce 2.4.6,但無法在PHP 8.2上執行。暫時替代措施:在PHP 8.1上執行Adobe Commerce 2.4.6,直到發行支援PHP 8.2的新版New Relic為止。此版本預計於2023年夏季推出。
已修正的問題
我們已修正Adobe Commerce 2.4.6核心程式碼中的數百個問題。 Adobe Commerce 2.4.6中包含的已修正問題子集說明如下。
安裝、升級、部署
- 在具有多個地區設定和網站的標準或精簡部署期間,靜態內容部署不再逾時或失敗。
- 壓縮策略在執行靜態內容部署(
bin/magento set:static-content:deploy -f --strategy compact
)時,不再導致外部網域的無效參照。
- 執行
bin/magento setup:di:compile -vvv
(或使用-v
或-vv
選項)現在會在失敗時傳回資訊訊息。 GitHub-35391
- 當您在已執行資料移轉工具的部署中執行
bin/magento setup:upgrade
命令時,Adobe Commerce不再擲回下列例外狀況:PHP Fatal error: Declaration of Migration\Logger\Logger::addRecord(int $level, string $message, array $context = []): bool must be compatible with Monolog\Logger::addRecord(int $level, string $message, array $context = [], ?Monolog\DateTimeImmutable $datetime = null): bool in /var/www/html/vendor/magento/data-migration-tool/src/Migration/Logger/Logger.php on line 34
。 GitHub-35604
bin/magento setup:db:status
命令在執行MySQL 8.0.29的環境中不再失敗。以前,命令輸出錯誤地指出宣告式結構描述已過時。 GitHub-35671
composer install
命令不再覆寫.gitignore
個檔案。 GitHub-32888
- 在Alpine Linux上升級後執行
bin/magento sampledata:remove
以移除範例資料不再失敗,發生此錯誤:Undefined constant "MagentoHackathon\Composer\Magento\Deploystrategy\GLOB_BRACE
。 GitHub-36062
bin/magento setup:upgrade
現在會在第一次執行composer install --no-dev
後成功執行。 GitHub-36351
- 例外狀況與例外狀況棧疊追蹤專案現在包含在
var/log/exception.log
中。 GitHub-36054
- 現在,當您使用命令列設定沒有密碼的Redis連線時,Adobe Commerce會擲回引數驗證錯誤。
協助工具
- 結帳工作流程中的 Proceed to Checkout、Review Order 和 Place Order 按鈕現在可如預期般搭配鍵盤輸入運作。
- 使用 TAB 或 SHIFT + TAB 瀏覽頁面控制項時,以視覺化方式顯示按鈕的焦點,現在可如預期般運作。
熒幕助讀程式
- 訂購記錄頁面的熒幕助讀程式現在會讀取正確的影像說明。
熒幕助讀程式現在會宣佈:
- 搜尋結果中找到的專案總數如預期般為
- 使用者使用鍵盤控制項 成功登入時登入的使用者名稱
- 產品搜尋結果頁面標頭現在會讀取
<title>
專案 的正確值 - 輸入欄位是否為必要欄位
- 正確摺疊式功能表元素的目前狀態(摺疊和展開)
- 當使用者按一下 Create an account 按鈕 後重新整理頁面內容時
套裝產品
- 透過API更新特定商店檢視的捆綁產品現在不會覆寫相同捆綁產品的其他商店檢視資料。 以前,套件產品選項標題會被其他商店檢視的第一個選項標題覆寫。
- 使用荷蘭地區設定時,現在可以從管理員 Catalog > Products 成功篩選套件產品。 先前,當您嘗試篩選
Type: Bundle Product
時,Adobe Commerce會顯示此錯誤:Something went wrong with processing the default view and we have restored the filter to its original state
。 GitHub-35704
- 當套件產品的特殊價格超過1000時,產品格線不再擲回例外狀況。 先前,當您依SKU搜尋產品或導覽至 Catalog > Products 時,Adobe Commerce擲回此錯誤:
Non Numeric value encountered
。 GitHub-36284)
- 包含組合與簡單產品之訂單的銷退折讓單與發票PDF中的欄位現在可正確轉譯。 以前,欄扭曲或不對齊。
- 在包含
BundleProduct
片段的GraphQL查詢中,items.options.product
物件包含預期的資料。 過去,物件在某些情況下可能為Null。
- 啟用 Quantity uses decimals 時,組合選項的小數數量現在可正確轉譯。 以前,只演算數量的整數部分,而不是分數元件。 例如,數量1.5已轉譯為1.0。GitHub-35964
- GraphQL產品查詢現在只會傳回所查詢存放區範圍內的套件組合產品選項。
- 針對傳送查詢的客戶啟用 Allow Category Browsing 組態設定時,回應中現在會傳回未指派給類別但屬於套件或分組產品之產品選項的產品。
快取
- 除非訂購的產品無庫存,否則訂單履行後不再排清整頁快取。 以前,每當建立出貨時,就會清除類別的快取。
- 現在當設定L2快取且已部分移除遠端資料時,就能成功快取資料。 先前,在只排清資料快取而沒有這些資料的雜湊之後,新的快取並不會在資料雜湊存在時儲存。
- 已修正
CatalogUrlResolverIdentity
和CmsUrlResolverIdentity
中阻止快取的錯誤。 這會影響多個請求上的路由查詢快取。
購物車與結帳
- 當購物車含有最小數量的簡單產品時,購物者現在可以新增額外專案到購物車中。
- 當商店貨幣和基本貨幣相同時,擷取購物車資料的REST API呼叫現在會傳回相同的
grand_total
和base_grand_total
值。 GitHub-34649
- Maximum Qty Allowed in Shopping Cart 的匯出值現在與管理員組態設定中設定的預設值相符。
- Adobe Commerce現在會正確計算具有出貨折扣的訂單退款總計。
- Google reCAPTCHA現在對店面訂單如預期般運作。 先前,當購物者首次嘗試下訂單前未先選取Google ReCAPTCHA時,Adobe Commerce會顯示這些錯誤:
ReCaptcha validation failed, please try again
和No such cart with id = ID
。
- 驗證碼影像重新整理現在會遵循管理員組態設定,且在設定停用時不會觸發。 過去,每當付款方式變更時,無論設定已啟用或停用,都會觸發重新整理。 GitHub-34855
- 當購物者變更購物車頁面上的產品數量而未更新購物車,然後嘗試導覽至下一頁時,Adobe Commerce現在會依預期顯示確認快顯視窗,以將購物者重新導向至下一頁。
- 現在,在管理員減少購物車數量後,購物者可以從購物車中減少產品數量。 之前,當購物者嘗試減少產品數量時,Adobe Commerce擲回下列錯誤:
The requested qty is not available
。 GitHub-35780
- 當多運送結帳期間,產品數量超過設定的上限時,Adobe Commerce不再在JavaScript主控台中擲回錯誤。 Adobe Commerce現在改為顯示資訊性錯誤訊息。 GitHub-36184
- 當購物者使用鍵盤上的向下箭頭鍵變更產品數量時,購物車頁面上的專案數量不再顯示為負數。 GitHub-36299
- 購物者在變更購物者所屬的客戶群組後,無法再將類別中的產品新增至購物車,而此類別現在已不允許使用。 當許可權組態設定變更時,Adobe Commerce現在會檢查特定類別的客戶群組許可權存取權。
- 在管理員訂單建立之前,客戶購物車不再清空,如果訂單取消或放棄,購物車內容現在會還原。 現在,只有在建立訂單後,才會從購物車移除專案。 先前,每當管理員使用者嘗試在管理員管理購物車頁面上建立訂單時,購物車都會被清空。
- 在您執行
bin/magento catalog:image:resize
之後,迷你購物車現在會顯示正確的產品影像。 以前,所有影像都會取代為預設的產品預留位置影像。 GitHub-35535
- 當送貨地址包含擴充功能屬性時,現在即可成功完成簽出。 之前,Adobe Commerce擲回此錯誤:
Object of class Magento\Quote\Api\Data\AddressExtension could not be converted to string
。 GitHub-34202
- 如果必要的產品選項沒有值,
addBundleProductsToCart
突變就不會再將產品加入報價中。 GitHub-25676
- 現在,當將產品新增到購物車且許可權不足時,
addProductsToCart
突變失敗時,Adobe Commerce會傳回資訊訊息。
- 使用快速訂購新增數量超過可用存貨的產品時,Adobe Commerce不會再在購物車頁面上擲回錯誤。
setGiftOptionsOnCart
突變現在需要客戶授權才能進行客戶購物車作業。
購物車價格規則
- 在規則建立期間設定的購物車價格規則免運費選項,現在會如預期套用至訂單。 以前,在建立規則期間套用的免運費選項在結帳期間會被忽略,而且套用規則時不允許免運費。 GitHub-35013
- 當料號折扣數量未設定或大於或等於訂購料號數量時,產品之
sales_order_item
表格的discount_percent
欄現在會依預期填入折扣百分比。 先前,此產品套用購物車價格規則時未填入此欄。
目錄
- 產品清單Widget不再針對登入購物者顯示不正確或快取的價格。 首頁Widget中顯示的價格現在符合購物者的地址,並且會在購物者更新地址時更新。 之前,瀏覽器快取不會根據客戶群組稅捐規則更新首頁上的產品價格。
- 「比較產品」清單功能現在可在多網站部署中正常運作,且須視網站而定。
- 當您重新載入產品詳細資料頁面時,Adobe Commerce不再顯示上一頁的資料。 先前,重新載入產品詳細資料頁面時,第一個索引標籤的資料會與新載入的資料合併一秒。
- 現在,行動裝置上的主功能表中可如預期展開具有子類別的類別。 過去,購物者無法在行動部署中開啟或展開具有子類別的類別。 GitHub-35329
- 現在當產品指派給新網站或商店時,類別清單會如預期更新。 之前,產品價格索引子未標示為無效,並隨後在
cron
執行如預期般重新觸發。 因此,價格指數表中遺漏了產品的價格專案,而且不會顯示在新的商店或網站上。
- 現在啟用 Display Out of Stock Products 組態設定時,店面詳細目錄計數是準確的。 GitHub-35899
- 啟用 Allow All Products Per Page 設定時,類別頁面不再為空白。 GitHub-35900
- Display Out of Stock Products 組態選項現在會在啟用時如預期般運作。 先前,在「管理員」上啟用此選項時,所有產品在店面都會顯示為無庫存。 GitHub-35898
- 當類別許可權允許時,指派給批發群組的客戶現在可以將分組產品新增到其購物車。 如果沒有為Customer群組定義此許可權,則以組態設定優先。
- 依布林值屬性排序的產品現在可如預期運作。 GitHub-36390
- 目錄價格規則折扣不再套用至固定價格自訂產品選項,而是僅套用至產品的原始價格。
- 現在,由相關產品規則針對英數字元產品屬性產生時,相關產品可在店面產品詳細資料頁面上成功擷取。 GitHub-36285
- 目錄價格規則現在會考量選取的範圍,並僅套用至屬性擁有符合規則之選項值的網站的產品。 以前,規則不會在多網站部署中考慮所選範圍。 GitHub-36049
- 當購物者從「我的購物車」頁面修改可設定的產品時,現在會在產品詳細資料頁面中預先選取色票選項「顏色」和「大小」屬性。 (jQuery 3.x版本現在支援
swatchRenderer
Widget名稱,現已為駝峰式大小寫。) 以前不會預先選取色票選項。
- 當客戶訂閱價格下降警示時,現在會通知客戶產品價格下降。 以往,由於應用程式層級的快取,系統不會一律傳送降價通知。
- 以具有 is not one of 條件的SKU為基礎的目錄規則現在可如預期般運作。
- Adobe Commerce不再根據類別路徑錯誤地假設一個類別是另一個類別的父類別。 先前,當兩個類別相鄰,而一個類別ID以另一個類別的類別ID開頭時,Adobe Commerce會假設類別具有相同父類別。 GitHub-32464
可設定的產品
- 當管理員使用者手動將產品新增至已指派許多簡單產品的可設定產品時,Adobe Commerce不再擲回錯誤。 Adobe Commerce之前會顯示此錯誤:
Something went wrong with processing the default view and we have restored the filter to its original state
。
- 在停用延期交貨的部署中,購物者無法再將可銷售數量為0的可設定產品新增至購物車。 Adobe Commerce現在會指出產品無庫存。 GitHub-35319
- 透過從不同的商店檢視匯入包含許多選項的可設定產品來建立新產品,現在會如預期產生第一個產品的精確副本。 以前,在具有多個商店檢視和區域設定的部署中,新產品可配置選項的排序順序不正確,並且標題未轉換為新商店檢視的區域設定。 GitHub-35200
- 現在,所有沒有庫存子產品的可設定產品在店面顯示為沒有庫存。
- 可設定的產品SKU和產品名稱現在會精確顯示。 之前,在您於 Stores > Attribute set 將屬性群組移至產品詳細資料群組上方後,名稱和SKU會顯示為未定義。 GitHub-36309
優惠券
- 管理優惠券代碼工作流程已新增驗證邏輯,以在產生優惠券時強制實施優惠券代碼設定。 先前,當 抵用券數量 值大於2500時,抵用券程式碼產生會忽略 Code Length 設定。
- 使用PayPal Express付款方式結帳期間,如果套用獎勵券,現在可如預期將獎勵點數新增至客戶帳戶。
- 現在,當購物車價格規則具有權重作為條件時,您可以在管理員訂單建立期間套用優惠券代碼。 以前,如果沒有為產品選擇其他欄位,則不會設定優惠券代碼。 GitHub-36271
- 您現在可以根據多個購物車價格規則來篩選優惠券報表。 GitHub-36272
- 現在,當管理員使用者在設定具有自訂選項的產品時按下 Enter 時,會套用並儲存自訂選項。 之前,您可以選取選項並將產品新增至訂單,但選項並未儲存,且系統會提示管理員使用者重新選取產品選項。 GitHub-35284
- 優惠券代碼現在可以成功匯出至Excel XML。 先前,產生的檔案並未包含所有選取的抵用券代碼,但僅包含每個頁面選取器中選取的專案數。GitHub-36073
cron
catalog_index_refresh_price
cron工作現在已成功執行。 之前,Adobe Commerce會在cron執行期間記錄此錯誤:report.ERROR: Cron Job catalog_index_refresh_price has an error: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
。
貨幣
- 自訂貨幣符號和價格之間缺少的空格已新增到店面和管理產品價格。 已新增適當的條件和規則運算式,以允許使用貨幣符號的自訂NBSP。 例如,IDRx 105.00先前顯示為IDRx105.00。
客戶區段
- 建立新購物車價格規則期間,管理員客戶區段格線上的「是/否」篩選器現在可如預期運作。
電子郵件
- 從管理員建立訂單後,Adobe Commerce不再傳送客戶副本電子郵件。
- 停用 Email order confirmation 設定時,不再傳送管理員訂單電子郵件。 GitHub-36256
- 針對具有自訂選項的產品,影像選項不再顯示於銷退折讓單、訂單確認及商業發票客戶電子郵件(預設範本)中的HTML標籤。
框架
- 當 歐盟國家 設定中沒有國家/地區(Stores > Configuration > General > Country options > European Union Countries)時,管理員使用者現在可以成功開啟「管理員 Store > Configuration」頁面。 之前,當管理員使用者嘗試開啟此頁面時,Adobe Commerce擲回此錯誤:
TypeError: explode(): Argument #2 ($string) must be of type string, null given in /var/www/php/folder/vendor/magento/module-config/ViewModel/CountryFilter.php:46
。 GitHub-35901
- 在JavaScript相依性中,
jquery.cookie
相依性現在可如預期運作。 之前,您無法對jquery/jquery.cookie
使用別名。 GitHub-35913
bin/magento i18n:collect-phrases
命令現在在匯出的CSV檔案中包含<title>
文字。 GitHub-35462
Magento\Framework\Code\Reader\ArgumentsReader::getParentCall()
現在支援具名建構函式引數。 您現在可以透過按名稱設定引數來呼叫函式。
- 錯誤現在會如預期般記錄在
exception.log
檔案中。 之前,雖然錯誤記錄在system.log
檔案中,但錯誤未記錄在var/log/exception.log
中。
- 商戶現在能夠指定自訂外部SMTP提供者。 GitHub-26104
- 現在,在執行Adobe Commerce 2.4.3-p2的部署中,您可以如預期重新授權OAuth整合。 先前重新授權失敗,錯誤為:
The attempt to post data to consumer failed due to an unexpected error. Please try again later
。 Adobe Commerce也嘗試解密未加密的值。 GitHub-35313
- 現在當為具有子類別的類別儲存類別
urlKey
時,會傳遞正確的rowId
引數。 先前儲存類別URLKey
時傳遞了錯誤的categoryId
。
- 產品屬性代碼
event
已新增至保留的產品屬性代碼清單,可消除在店面使用此名稱的屬性相關的錯誤。 以前,當使用event
時,應用程式會在產品詳細資料和搜尋/產品清單頁面上擲回此錯誤:report.CRITICAL: Error: Call to a member function getStatus() on string in /home/mer33515/public_html/ee24develop/magento2ee/app/code/Magento/CatalogEvent/Observer/ApplyIsSalableToProduct.php:23
。
- 下單期間發生的店面驗證錯誤訊息現在會一致地顯示。 以前,訊息會出現、摺疊,然後再次出現。 GitHub-35651
- AMQP取用者不會再因為執行PHP 8.1的部署上已棄用
trim()
函式而失敗。先前,當AMQP取用者在安裝後啟動時,Adobe Commerce擲回此錯誤:Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string is deprecated in .../vendor/magento/framework-amqp/Config.php on line 143
。 GitHub-35380
getFilteredTimerIds
方法現在可如預期般運作。 類別Magento\Framework\Profiler\Driver\Standard\Stat
現在與PHP 8.1相容。之前,Adobe Commerce在呼叫此方法時擲回例外狀況。 GitHub-35307
- 已移除
imagemin-svgo
資料庫的相依性。
- 當第一個註解以
//
開頭時,縮制範本程式現在可以成功處理連續註解。 GitHub-34880
- 更正由
BundleGraphQl
模組所發出的資料庫查詢,此查詢傳回此錯誤:"debugMessage": "Notice: Undefined offset: 16 in vendor/magento/module-bundle-graph-ql/Model/Resolver/Options/Collection.php on line 130"
。GitHub-34991
一般修正
- 當管理員使用者從管理員統計儀表板選取 Last 24 Hours 選項時,Adobe Commerce現在會顯示準確的時間範圍。 過去,Adobe Commerce顯示錯誤的時間範圍。 發生此狀況是因為資料庫的時區保持不變。
- 現在可以產生整數與小數數量的銷退折讓單。 以前,僅支援整數數量。
- 型別 僅限數值 的客戶郵遞區號輸入驗證規則現在可在 Edit Customer Address 欄位(Store > Attribute > Customer Address)中如預期般運作。 先前儲存客戶地址資訊時不會進行郵遞區號驗證。
- 僅可存取一個網站的管理員使用者現在可以使用「以客戶身分登入」功能成功登入管理員。
- 全球共用的客戶帳戶現在擁有的地址,這些地址已根據目前網站的允許國家清單進行驗證,並且已成功儲存。 之前,這些帳戶是根據客戶註冊所在網站的允許國家/地區來錯誤驗證的。
- 停用 Enable Hierarchy Functionality 時,CMS頁面階層的階層連結不再顯示。 先前會顯示階層連結,當購物者按一下連結時,畫面會顯示404頁面。 GitHub-35513
- 透過Admin從所有網站移除產品不再導致下列錯誤:
SQLSTATE[42000]: Syntax error or access violation
。 GitHub-35133
- 現在,超過最大登入失敗嘗試的客戶可在密碼重設後登入。 GitHub-34981
- 現在,當管理員使用者新增元素時,動態列元件的行為會與預期一樣。 先前,將新的簡單產品新增到分組產品時,列元件的行為不正確。 GitHub-34850
- 已更正
app/code/Magento/Backend/etc/menu.xsd
檔案中的拼字錯誤和語法錯誤。
- 已更新
app/code/Magento/Authorization/README.md
檔案以正確說明資料表建立。
- 已更新
recordLogin
方法,以在使用者模型上設定登入值,並保留admin_user
資料表的logdate
和lognum
欄位中的正確值。 之前,系統不會記錄更新後Admin使用者的登入嘗試。
- GitHub問題範本已轉換為開發人員體驗問題和功能請求的問題表單。
- 現在已針對管理員客戶編輯表單的網站範圍,正確實作
Is required
客戶屬性。
- 停用 Use in Filter Options 設定時,客戶與客戶地址屬性的 Grid Filter Condition Type 欄位不再顯示在屬性編輯頁面上。
- 如果商家在建立產品時無法輸入選用的SKU屬性值,Adobe Commerce現在會顯示資訊性錯誤訊息。 以前,當屬性為選擇性時,應用程式擲回此例外狀況:
Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/mg244/project-community-edition/vendor/magento/module-eav/Model/Entity/AbstractEntity.php on line 932
。 GitHub-35810
- My Quotes 頁面上的 Show my quotes 篩選器現在可如預期般運作。 先前,篩選結果包含其他管理員使用者的引號。
禮品卡
- 禮卡產品的金額現在與匯入期間CSV檔案中指定的金額相同。 已新增現有選項的檢查,且現在會根據唯一索引鍵更新舊值。 以前,當禮品卡多次匯入時,禮品卡金額會加倍。
禮物包裝
- 當禮品包裝已在訂單層次套用至包含實體與虛擬產品的訂單時,禮品包裝價格現在會如預期顯示在訂單摘要區塊中。 之前,Adobe Commerce不顯示贈品包裝價格。
GraphQL
- 在GraphQL程式碼中實作多個介面的
Types
現在可以用&
符號分隔,以及根據GraphQL@doc
規格的,
。
setShippingAddressesOnCart
突變現在支援將數值區域代碼設定為region
。 之前,此變異在數值區域代碼值上運作不正確。
products
查詢現在只會傳回與指定範圍關聯的評論。 以前,查詢會從所有商店傳回評論。
- 類別許可權現在會在GraphQL要求期間遵循。
customer
查詢現在正確篩選具有指定from
和to
範圍的訂單。 GitHub-31537
product
查詢現在會在彙總中傳回正確的類別資料。 之前,attribute_code.category_uid
傳回category_id
的值,而非category_uid
。
customerOrders
查詢不再擲回\"model\" value should be specified
錯誤。 GitHub-35852
customer
查詢現在會根據範圍篩選訂單。 您現在可以指定查詢是否應該依商店、網站或全域篩選訂單。
categoryList
查詢現在會傳回錨定和未錨定父類別的準確產品計數。 新的is_anchor
屬性已新增至類別集合選取資料行清單。 之前,請求會傳回0個產品計數。 GitHub-36300
- 建立Token以登入多存放區部署中的非預設存放區時,
generateCustomerTokenAsAdmin
突變現在會如預期般運作。 GitHub-35084
- 使用過期的Token時,
createEmptyCart
突變現在會如預期擲回例外狀況。 GitHub-26112
- 購物車查詢錯誤訊息已提供更多資訊。 GitHub-34546
products
查詢回應中的彙總資料現在包含價格型別屬性attribute_code
與label
的正確值。 GitHub-28878
- 當資料庫首碼具有非null值時,
products
查詢會如預期傳回類別資訊。 之前,它傳回Internal server error
。 GitHub-36117
- 修正
getCustomerIsGuest
方法的傳回型別。 GitHub-29529
Magento\CatalogGraphQl\Plugin\DesignLoader
外掛程式已重構。
- 當購物車由GraphQL變動初始化時,購物車重新載入現在只會如預期觸發一次。 以前,購物車載入會針對存貨存貨觸發不必要的購物車重新驗證,這會在每次載入購物車時消耗大量資源。
- 已新增
gift_message
型別至OrderItemInterface
。 GitHub-29418
- GraphQL回應中傳回的產品選項現在只會包含使用者所屬目錄中的產品。 如果使用者屬於共用目錄,則只會傳回共用目錄中的產品。 如果使用者是訪客或不屬於自訂共用目錄,則只會傳回公用目錄中的產品。
Google ReCAPTCHA
- 已解決Google V3 reCAPTCHA管理員登入之
var/log/exception.log
檔案中的reCAPTCHA錯誤,且未記錄任何錯誤訊息。 以前,當管理員使用者設定其 Configuration > Security > Google reCAPTCHA Admin Panel 設定時,每隔幾秒就會擲回下列錯誤:main.ERROR: Can not resolve reCAPTCHA parameter. {"exception":"[object] (Magento\Framework\Exception\InputException(code: 0): Can not resolve reCAPTCHA parameter. at /home/xxxxxxx/public_html/vendor/magento/module-re-captcha-ui/Model/CaptchaResponseResolver.php:25)"} []
。 GitHub-34975
影像
- 更新PDF發票單的標誌大小建議。
匯入/匯出
- 匯入的產品若具有與現有產品相同的數值URL金鑰,但沒有其終端機字母字元,則當Admin中的 Product URL Suffix 設定為空白時,不會再造成驗證錯誤。
bin/magento app:config:import
命令現在已成功地匯入config.php
檔案的內容(當它包含某些cron
運算式時)。 先前,匯入失敗,錯誤為:Import failed: Notice: Trying to access array offset on value of type null in [..]/vendor/magento/module-config/Model/Config/Backend/Currency/Cron.php on line 66
。 GitHub-31428
- 使用AWS S3做為遠端儲存體時,完全匯出現在可以正常運作。 先前,由於上傳的檔案大小,匯出失敗。
- 現在,當CSV檔案中的庫存資料欄遺失時,產品狀態可正確匯入。 先前,在產品匯入後,預設來源會自動指派給產品,其數量設為零,且當CSV檔案中的存貨資料欄遺失時,其狀態會列為無庫存。
- 現在,當匯入包含100筆以上的記錄時,匯入進階訂價值可提供新記錄與更新記錄的正確計數。 先前,匯入成功訊息提供的計數錯誤。
- 匯出的CSV檔案現在包含以多種語言儲存的類別名稱的正確路徑。 已新增類別集合的商店ID。 先前,匯出的檔案包含不同語言的混合路徑,而不是衍生自預設商店檢視的類別路徑。
- 透過匯入更新特定商店檢視中產品的自訂選項現在已成功完成。 以前,如果將產品相關列分割成多個批次,則會擲回內部伺服器錯誤。
Fixer.io
匯入服務現在可如預期般運作。 匯率現在已成功匯入。 GitHub-36010
索引
catalogpermissions_category
索引的索引子batch_size
現在已變更為如預期在env.php
檔案中提供的值。 先前,索引子batch_size
覆寫路徑中的錯字會防止將批次大小變更為env.php
中提供的值。 GitHub-652
- 現在,當目錄包含的套件組合產品未指派給任何網站時,價格重新索引會成功執行。 先前,執行產品價格指數時發生下列錯誤:
Warning: Undefined array key <bundel product id > in vendor/magento/module-bundle/Model/ResourceModel/Indexer/Price/DisabledProductOptionPriceModifier.php on line 117
。 GitHub-35796
基礎架構
- 已新增資料庫傾印中的
DATE
和DATETIME
值清理以支援Adobe Commerce。 以前,資料庫備份表格中的客戶/報價單/訂單表格不會清除日期時間型別欄位。
escaper.js
escapeHtml
函式現在根據InnerHtml
規則將&特殊字元轉換為"$amp;"
。 此通用解決方案解決標題輸入方塊中的特殊字元和字元參考轉換問題,並儲存插入時的確切值。 先前,在內容階層中的節點名稱中,&字元編碼不正確。
- 第三方
colinmollenhour/php-redis-session-abstract
模組和PHP 8.1的問題已解決。 GitHub-35634
媒體集
- 舊版「媒體集」現在預設為停用。 之前,Enable old Media gallery 設定為 Yes。
- 新媒體集已最佳化,以改善類別頁面中目錄樹狀結構的載入。
記錄
- 您現在可以產生0位元組之記錄檔的系統報告。 先前,當一或多個檔案為空白時,Adobe Commerce在為記錄檔集合產生報表時擲回錯誤。
訂購
- 「管理員銷售訂單銷退折讓單」頁面現在會顯示使用「商店銷退折讓」和多張商業發票建立的訂單的正確總計。 以前,總計計算不正確,使用者無法產生銷退折讓單。
- 現在,安裝指令碼中傳遞的訂單首碼已正確新增至訂單ID。
- 當訂單包含具有長自訂文字值的產品時,訂單詳細資訊頁面現在會成功載入。 先前,訂單詳細資料頁面未載入,而且如果產品包含文字自訂選項的長數值,
sales_order_item.product_options
欄中的值未正確儲存。
- 部份退款的訂單的店面訂單狀態現在正確。 先前,在套用部分退款時,訂單在出貨後仍維持處理狀態。 GitHub-35528
- 客戶群組現在準確地表示為 未登入 (針對來賓使用者建立的訂單)。 以前,訪客訂單摘要中的客戶群組為空,這會影響確認電子郵件和訂單匯出。 GitHub-35440
- 在發出銷退折讓單並退款客戶之後,現在會依預期將 Closed 的狀態指派給虛擬訂單。 以前,虛擬產品在「狀態」下拉式清單中顯示為 Complete,但在從管理員新增註解時,訂單註解的頁尾顯示為 Closed。 GitHub-35283
- 訪客現在可以訂購數量少於一個的產品,而且產品數量現在被嚴格輸入為
float
。 先前,由於產品數量被嚴格輸入為int
,產品數量少於一個的訂單失敗,並出現此訊息:Some of the products are disabled
。 GitHub-36060
- 當 Apply discount on prices 組態選項設為 including taxes 時,現在可正確計算運費退款。
- 現在,在存檔訂單後,會以非同步方式更新商業發票、出貨及銷退折讓單網格。
- 重複訂單不再來自並行且相同的GraphQL請求。 現在已將引號鎖定最多10秒,以防止建立重複的訂單,而第二個請求會因下列錯誤而失敗:
The cart isn't active
或The order has already been placed and is currently processing
。 這個鎖定值可以透過Magento\Quote\Model\PlaceOrderMutex
類別lockWaitTimeout
引數的ID來設定。 GitHub-36274
- 新增註解至已封存的訂單時,不會再將其傳回至未封存的訂單網格,同時保留其已封存狀態。
- 公司屬性值現在會如預期顯示在結帳工作流程的帳單和送貨地址區段中。 以前,由於建立訂單期間未正確設定商店,因此訂單詳細資料頁面上無法正確顯示公司屬性。 只有在多存放區部署中,主要網站 的 顯示公司 屬性設定為 optional 時,屬性值才會正確儲存。
- 勾選 My billing and shipping address are the same 核取方塊時,
customer_address_id
值現在已設定為新帳單地址。 設定送貨地址的客戶地址ID之前,已引入另一個條件來識別帳單地址是否與送貨地址相同。
- 訂單放置的並行問題已解決。 先前,如果兩個訂單分別從不同瀏覽器以相同或幾乎相同的時間下達,則會將相同的訂單ID指派給兩個訂單。 GitHub-35833
- 啟用非同步索引時,為免費產品下自動開立商業發票的訂單現在可如預期運作。 這些訂單的
sales_order_grid or sales_invoice_grid
資料表中未新增任何專案。 之前,Adobe Commerce擲回例外狀況,因為應用程式嘗試在放置訂單期間索引網格,而非依賴cron
。 GitHub-36334
頁面產生器
- 您現在可以使用頁面產生器拖放功能,將影像大量匯入相簿。
- 頁面產生器滑桿CSS規則的問題已解決。 GitHub-34527
- 頁面產生器產品屬性清單現在提供
Dropdown
、Text area
和Text field
屬性。 之前,只有Dropdown
和Text area
屬性可用。
付款
- 當出貨地址與帳單地址中指定的國家/地區免除貨到付款時,店面結帳工作流程中不再呈現貨到付款方式。 之前,系統並未實作此功能的管理員組態設定。
- 如果購物者未儲存Token,管理訂單建立工作流程的「付款」區段中就不會再顯示儲存庫付款資訊。 GitHub-33954
- 在購物車價格規則套用折扣後,自訂價格不再翻倍。 GitHub-35154
- 使用「零小計結帳」付款方式下訂單時,新訂單擱置狀態現在會如預期般接受。
- 在透過GraphQL使用PayPal Express為訪客購物者建立訂單時,現在已接受訪客電子郵件設定。 在過去,電子郵件地址集會由PayPal帳戶中設定的電子郵件地址覆寫。
Braintree
- 現在,訂單ID已新增至付款交易的結算請求。
- 當商家點按「Reports > Braintree Settlement」時,Adobe Commerce不再擲回下列錯誤:
Error: Undefined constant Braintree\PaymentInstrumentType::ANDROID_PAY_CARD in /var/www/html/vendor/paypal/module-braintree-core/Ui/Component/Report/Listing/Column/PaymentType.php:49
。 GitHub-35434
- 在管理員上關閉儲存庫時,
customerPaymentTokens
查詢不再傳回Braintree權杖。
- 已針對義大利和西班牙啟用 Pay Later 按鈕和橫幅。
- 啟用Braintree付款方式時,管理員使用者現在可以建立訂單或重新排序。 之前,Adobe Commerce擲回此錯誤:
report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174
。
- 啟用BraintreePayPal並停用 Enable Card Payments 時,使用Braintree付款方式的結帳現在會順利完成。 之前,進度列從未解析,Adobe Commerce會顯示此主控台錯誤:
adapter.js:66 Uncaught TypeError: Cannot read properties of undefined (reading 'clientToken')at Object.getClientToken (adapter.js:66:66)
。 GitHub-35961
- 已實施詐騙保護、ACH支付和本機支付方法Web鉤點。 欺詐保護Web勾點只有在Braintree中做出風險決定時才會觸發。 只有在ACH付款更新為
settled
或settlement decline
之後,才會觸發ACH Web勾點。
- 已從管理員樣式區段中的所有 PayPal 按鈕中移除 Tagline 和 Layout 設定欄位。
- 當購物者更新其帳單地址時,「Braintree儲存庫」付款方式選項在結帳工作流程中仍保持選取狀態。 以前,當購物者取消選取 My billing and shipping address are the same 按鈕時,會取消選取付款方法。
- 現在當從管理員啟用 Send Line Items 組態設定時,會為PayPal交易傳遞明細專案。
- ACH付款方式 Account Number 欄位上的驗證邏輯現在支援4到17位數的文字。
- 從管理員關閉儲存庫時,
customerPaymentTokens
查詢不再傳回Braintree權杖。
- 啟用Braintree付款方式時,管理員使用者現在可以為客戶建立訂單或重新排序。 之前,Adobe Commerce擲回此錯誤:
report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174
- 購物者現在可以在已停用 Enable Card Payments 的店面中使用Braintree付款方法。 之前,Adobe Commerce擲回此JavaScript錯誤:
_adapter.js:66 Uncaught TypeError: Cannot read properties of undefined (reading 'clientToken')at Object.getClientToken (adapter.js:66:66).
效能
- 在對大型目錄進行部分重新編制索引期間,價格索引器現在會如預期刪除過時的資料,並取代記錄。 以前,重新索引過程在取代過期記錄之前會移除這些記錄,這會導致產品偶爾從店面中暫時消失。 GitHub-35616
bin/magento/setup:upgrade
命令的效能已改善。 以前,此命令會重新建立資料庫觸發程式,這會在命令執行期間造成嚴重的停機時間。 此外,索引器沒有回覆成排程模式,而是維持在儲存模式。 GitHub-33386
- 透過API更新層級價格的執行速度現在更快。 以前,更新層級價格會產生不必要的
SELECT
查詢,當許多客戶群組指派給產品時,這會延遲執行。
- 已最佳化載入包含目錄Widget產品清單的頁面。 過去,會直接從資料庫載入非全域屬性。
報表
- 更新類別規則時,管理記錄報告現在會顯示正確的 Value before change 值。
- 從日期選擇器選取之後,訂單總計報表 從 到 到 日期現在已正確顯示。
Braintree/Ui/Component/Report/Listing/Column/PaymentType.php
中的ANDROID_PAY_CARD
常數已取代GOOGLE_PAY_CARD
。 如此可解決Braintree報表的問題。
退貨授權(RMA)
- RMA註解欄位(Orders > Return)不再包含多餘的空格。 (
<textarea>
和<?php
標籤現在位於一行中。
- 現在儲存產品時,Enable RMA 欄位的 Use Config Settings 核取方塊會如預期儲存其值。
評論
- 在特定範圍內具有受限制存取權的管理員使用者現在可以如預期刪除產品評論。
角色
- 已新增 Stores > Configuration > Services > OAuth 的遺失ACL。 之前,在設定角色許可權時,您無法定義此OAuth組態設定的存取權。
搜尋 search-heading
- 啟用 Minimum Terms to Match 組態設定時,搜尋引號中的字串現在會如預期般運作。 之前,Adobe Commerce擲回此錯誤:
{"error":{"root_cause":[{"type":"parsing_exception","reason":"[match_phrase] query does not support [minimum_should_match]' ...
。
- 銷售訂單客戶網格上客戶記錄的 註冊點 搜尋篩選器,現在會在建立訂單期間如預期般運作。
- 多字查詢的搜尋建議品質已改善。
- 啟用GitHub-36055時,搜尋結果現在包含所有可用產品的無庫存選項輸出 Display Out Of Stock Products
送貨
- 當免運費購物車規則設為僅符合購物車中專案子集時,會正確計算FedEx、USPS和UPS的運費。
- 當訂單總計小於符合免費送貨資格的指定最低訂單金額時,「管理送貨」頁面不再顯示免費送貨選項。 GitHub-33697
- Adobe Commerce現在會在顯示送貨或客戶地址時,遵循「管理客戶 Show Company」組態設定。 停用此設定時,出貨公司將不再包含在出貨、客戶地址或資料庫訂單記錄中。 以往,即使設定為停用,仍會顯示資訊。 GitHub-33729
- 已移除預估出貨時對報價單進行的多餘儲存操作。
storeId
範圍現在直接從$request->getStoreId()
套用,以確保當引號由管理員使用者建立時,不會遺失範圍。 先前,當管理員使用協力廠商模組建立報價時,偶爾會發生送貨方法的問題。
- 系統現在會為其
url_key
設定已在存放區檢視層級覆寫的產品產生SEO友善URL。 之前,類別產品URL不會重新導向至SEO友善URL。
- 將折扣套用至運送成本時,Adobe Commerce不再擲回最小訂單金額錯誤。
- 將折扣套用至出貨後,若套用稅捐,現在可正確計算運費退款。
- 透過GraphQL
cart
查詢所要求購物車的所有適用促銷活動都會一併傳回。 促銷活動包括條列專案折扣、購物車規則/折扣、折價券、禮品卡和商店點數。 GitHub-35545
- 已新增
price_excl_tax
和price_excl_tax
型別至setShippingMethodsOnCart
突變的輸出。 GitHub-31206
- GraphQL回應中現在會依預期傳遞不重複送貨ID,並包含送貨至多個地址的訂單送貨詳細資料,以進行GraphQL查詢。
分段
- 在更新完成後,重新排程臨時更新的結束日期不再導致錯誤。 之前,管理員無法開啟產品頁面和產品網格,Adobe Commerce擲回此錯誤:
report.CRITICAL: Exception: Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "1" already exists
。
- 測試儀表板現在顯示正確的記錄總數,儀表板分頁現在按預期運作。 先前版本。 儀表板最多可顯示20筆記錄。
- 現在,在有許多商店的部署中,內容預備預覽載入速度更快。 預覽重新索引現在只會重新索引選取的存放區。
- 現在可以在排程預覽模式中將產品新增到購物車。 使用這些引數在排程預覽模式下更新階層連結已修正此問題:
version
、timestamp
和signature
。
稅金
- Display Zero Tax Subtotal 組態設定現在已如預期套用於提供多種送貨方法的部署中的訂單。 以前,在選取送貨方法之前,即使停用此設定,結帳期間購物車頁面上也會顯示零稅捐欄位。 GitHub-35561
- Adobe Commerce現在可以在執行PHP 8.1的部署中,於店麵類別頁面上顯示含稅的分組產品。之前,Adobe Commerce未顯示產品清單,並擲回此例外狀況:
main.CRITICAL: Exception: Deprecated Functionality: ucfirst(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/m24/vendor/magento/module-tax/Pricing/Render/Adjustment.php on line 188 in /var/www/m24/vendor/magento/framework/App/ErrorHandler.php:61
。 GitHub-35500
- 商家無法再將排程更新移至包含相同規則ID的其他更新。 先前,當更新移至包含相同規則ID的其他更新時,購物車價格規則的排程更新會建立重複的排程。
- 當沒有與客戶地址相關聯的VAT ID時,自動客戶群組指派現在可運作。 若地址未包含VAT ID,則會將其視為屬於非VAT註冊客戶,而Adobe Commerce會將客戶群組變更為非VAT群組。 先前,啟用 Enable Automatic Assignment to Customer Group 時,從客戶帳戶刪除VAT ID時,不會自動將客戶帳戶指派給
customerGroup
。
- 在中繼預覽模式下,對於中繼目錄規則現在會顯示正確的動態區塊。 先前會顯示不相關的動態區塊。
- 在結帳期間套用多重出貨時,現在商業發票與銷退折讓單的「稅捐彙總」區段中會正確呈現多重稅捐。
- 當包含稅捐的訂單小計以及「固定產品稅捐」金額超過購物車頁面上的購物車規則條件時,不再套用折扣。 以前,即使總計超過購物車規則條件,也會套用折扣。
- 您現在可以在使用GraphQL新增或更新訪客購物者地址時指定
vat_id
。
測試
- 修正
ICU
和libxml
資料庫不同版本的單元測試錯誤。
- 開發人員現在可以指示系統在特定的存放區檢視中執行資料夾具。 新的選用引數
scope
接受與存放區夾具別名對應的string
。
- 新增使用選用的
count
引數產生資料夾具多個執行個體的功能。
- 已從MFTF架構中的開發相依性移除非原生
array_first
函式。
翻譯與地區設定
- 現在,內嵌翻譯可正確搭配特殊字元運作,包括位於SCRIPT標籤中短語的延伸Unicode字元。 先前,使用內嵌翻譯時,日文字元在編輯的指令碼中無法正確轉譯。
- 產品名稱中的
ñ
字元現在會在URL金鑰產生期間轉換為n
。
- 執行
bin/magento i18n:collect-phrases
的輸出現在包括如預期在depend
建構中的郵件範本翻譯。 GitHub-35449
- 日文字元現在可以直接輸入產品頁面屬性集(下拉式方塊)。 之前,在MacOS上執行Firefox瀏覽器時,直接在此下拉式方塊中輸入日文字元會導致字元變更或刪除。 在所有瀏覽器中可以更妥善處理日文字元轉換的
textInput
HTML屬性已取代Value
和valueUpdate
屬性。
getOptions
方法現在會根據存放區檢視正確擷取price
屬性標籤值。 之前,在GraphQL作業期間因不正確的存放區檢視而轉譯price
屬性。
UI
- 現在,網站特定貨幣可如預期般用於管理產品網格中的特殊價格、成本和MSRP欄。 先前,依商店檢視篩選是否有特殊價格時,正確的貨幣符號不會顯示在管理目錄產品格線中。
- 產品自訂選項的拖放功能現在可如預期運作。 現在,當可自訂選項格線中有多個頁面可用時,您可以將可自訂選項從一個頁面移動到另一個頁面。
- 管理員儀表板圖表現在會依預期顯示從目前日曆年度開始到目前日期的YTD時間間隔。 以前,日期範圍包含超過12個月。
- 已新增店面首頁上遺失的預設Favicon。 GitHub-35493
- 管理員現在已成功顯示每個管理員使用者的最新登入日期。 先前,當管理員使用者首次登入管理員時,管理員使用者網格上會顯示空白的登入日期值。
- 預覽電子郵件範本功能(Marketing > Communications > Email Templates)現在可正確顯示範本。 之前,預覽影像會被截斷。 GitHub-35697
- 新增
new-shipping-address-modal
類別以支援新送貨地址模式的樣式。
- 在管理員 Stores 上的
Search Weight
屬性Storefront Properties
輸入欄位下方新增資訊性文字 > Attributes > Product。
- 電子郵件預覽現在會在單獨的標籤中開啟,而不是在快顯視窗中開啟,以更寬廣地檢視電子郵件內容。 過去,電子郵件內容會遭到截斷。
- 使用者角色網格(管理員 System > Permissions > User roles > Administrators)的篩選函式現在可如預期運作。 陣列值現在會單獨處理。 先前,當您嘗試在此格線中輸入查詢時,Adobe Commerce擲回此主控台錯誤,且頁面未載入:
Uncaught TypeError: Cannot read properties of null
。 GitHub-35993
- 透過REST API建立客戶時,已新增屬性值的驗證。 現在,提供無效的屬性值時,建立程式會失敗。 過去,性別沒有驗證,這不是必填欄位。 在建立客戶期間,傳入的性別值會儲存在
customer_entity
表格中。
- 結帳期間新增的地址現在會保持其預期格式。 以前,會忽略空白行。
- 變更產品格線的欄格線檢視並為自訂檢視選取新欄時,不再觸發「選取所有格線欄」動作。 以前,欄方塊會消失,並且會選取或取消選取格線中的產品。 GitHub-36302
- 管理員使用者現在可以成功清除管理員已完成任務記錄。 管理員之前會顯示此錯誤:
Something went wrong
。 GitHub-36255
- 佈景主題頁首設定
Welcome Text
現在可以包含單引號字元。 之前,Adobe Commerce擲回這個JavaScript錯誤:Uncaught SyntaxError: Unable to process binding "ifnot: function(){return customer().fullname }"
。
URL重新寫入
- 現在將全域「所有商店檢視」範圍中的產品可見性變更為 Not Visible Individually,只會移除未覆寫可見性屬性的商店檢視的URL重寫。 以此方式變更產品可見度也會為所有商店檢視產生URL重寫,包括已覆寫URL索引鍵屬性(但不包括可見度設定)的檢視。 以前,當可見度設定變更時,不會套用URL重寫規則。
Visual Merchandiser
- 當產品符合規則時,您無法再手動變更Visual Merchandiser類別清單中的產品位置。
- 僅能存取一個商店的管理員使用者無法再將產品拖放到Visual Merchandiser的類別中。 他們現在可以使用 Position 欄來重新排列產品位置。 以前,這些使用者只能透過拖放來變更類別中的產品位置。
- 現在,類別編輯頁面的「類別中的產品」區段會顯示可設定產品的正確數量。 現在會使用正確的表格欄來擷取可設定的產品數量。
Web API框架
- 現在,如果影像未從產品中移除,則REST API
DELETE /rest/V1/products/:sku/media/:entryId
會傳回錯誤訊息,因為它已指派給其他商店檢視中的角色。 以前,即使未成功移除影像,API也會傳回成功的回應。
- 商戶現在可以使用REST API來針對總金額為零的訂單建立銷退折讓單。 Adobe Commerce之前會顯示此錯誤:
The order does not allow a credit memo to be created. The credit memo's total must be positive. We can't create a credit memo for the invoice/order
。
- 現在使用REST API變更產品的網站指派後,管理員產品編輯頁面可正確反映產品的指派。 GitHub-36281
- 在批次REST API請求更新產品期間,多選屬性無法再包含重複的選項ID。 先前,在傳送大量更新產品的API請求時,您可以為多選屬性設定重複的選項ID。 當該多重選取屬性設定為包含於分層導覽中時,EAV索引失敗並出現
Duplicate entry
錯誤。
- 購物車中的產品名稱現在會如預期使用指定的商店檢視值。 以前,購物車中的產品名稱一律會在REST API購物車回應中傳回預設商店檢視值。
- 現在可以使用REST API更新購物車專案自訂選項值。 GitHub-35768
- 超過20個
sourceItems
的大量API請求現在已在啟用詳細目錄的部署中成功完成。
- 修復器貨幣服務現在可透過ApiLayer產生的金鑰正常運作,且貨幣匯率可正確匯出。 之前,當商家嘗試透過管理員匯入匯率時,Adobe Commerce會擲回錯誤。
- 您現在可以使用REST API
/rest/V1/bulk?searchCriteria[filter_groups]
要求,依搜尋條件來查詢大量作業。 先前傳回下列錯誤:report.CRITICAL: Report ID: webapi-624bbb1db96c4; Message: Item (Magento\AsynchronousOperations\Model\Operation) with the same ID "0" already exists.
- 產品價格現在可使用管理基本價格API,在管理員和店面目錄搜尋頁面上正確更新。 GitHub-33767
希望清單
- 購物者登入後,現在可以將產品新增至願望清單。 先前,由於登入後表單金鑰驗證出現問題,隨附加至願望清單請求提交的表單金鑰失效。
- 來賓客戶透過確認電子郵件確認其帳戶後,產品現在會如預期從產品清單和檢視頁面新增到願望清單。 以前,產品在帳戶確認後不會新增到希望清單中。
- 當購物者嘗試將具有產品
select
自訂選項無效值的專案新增到願望清單時,addProductsToWishlist
查詢現在會傳回資訊性錯誤訊息。 先前,下拉式清單自訂選項值的伺服器驗證遺失,導致資料庫中的值無效。 因此,端點傳回此內部伺服器錯誤:GraphQL endpoint returns Internal server error with "Call
。
已知問題
問題:從2.4.5之前的產品版本升級至Adobe Commerce 2.4.6或更新版本後,暫存銷售規則標籤可能會不相符。 因應措施:在升級期間,在更新中繼資料步驟之前,套用ACSD-50625_2.4.5-P1.patch。 請參閱從版本< 2.4.5🔗知識庫文章升級時的salesRules標籤問題。
解決此問題的一般步驟:
問題:若已啟用免運費(Stores > Configuration > Sales > Delivery Methods),且顯示的運費含稅,則您無法建立銷退折讓單。 當您嘗試建立銷退折讓單時,Adobe Commerce擲回此例外狀況: "Division by zero".vendor/magento/module-sales/Model/Order/Creditmemo/Total/Tax.phpLine 139
。 GitHub-36800
因應措施:此問題的Hot Fix現已推出。 移至品質修補程式工具:搜尋修補程式並搜尋修補程式ACSD-50814。
合作夥伴貢獻
下表重點說明合作夥伴所做的貢獻。 下表列出提出提取請求的合作夥伴、外部提取請求編號,以及與之相關聯的GitHub問題編號(若有)。
個人貢獻者
下表列出我們社群成員的貢獻。 此表格列出提供提取請求的社群成員、外部提取請求編號,以及與之相關聯的GitHub問題編號(若有)。
系統需求
我們的技術棧疊是以PHP和MySQL為基礎所建置。 如需詳細資訊,請參閱系統需求。
安裝和升級指示
您可以使用撰寫器安裝Adobe Commerce 2.4.6。