Note sulla versione di Adobe Commerce 2.4.6
Adobe Commerce 2.4.6 introduce il supporto per PHP 8.2. PHP 8.1 rimane completamente supportato, ma il supporto per PHP 7.4 è stato rimosso. Include miglioramenti significativi a livello di prestazioni e scalabilità. Le operazioni GraphQL per le operazioni bulk cart e la risposta di rendering della struttura delle categorie sono state ottimizzate. Questa versione introduce il metapacchetto dell’estensione Adobe Commerce.
Questa versione include oltre 300 correzioni e miglioramenti di qualità. Le dipendenze del Compositore core e le librerie di terze parti sono state aggiornate alle versioni più recenti compatibili con PHP 8.2.
Altre informazioni sulla versione
Anche se il codice per queste funzioni è incluso con le versioni del codice core di Adobe Commerce, molti di questi progetti (ad esempio, B2B, Page Builder e Progressive Web Application (PWA) Studio) vengono rilasciati in modo indipendente. Le correzioni di bug per questi progetti sono documentate nelle informazioni sulla versione specifiche per il progetto, disponibili nella documentazione di ciascun progetto.
Caratteristiche principali di Adobe Commerce 2.4.6
In questa versione, cerca le seguenti aree di rilievo.
Miglioramenti di sicurezza
Questa versione include otto correzioni di sicurezza e miglioramenti di sicurezza della piattaforma.
Ad oggi non si sono verificati attacchi confermati relativi a questi problemi. Tuttavia, alcune vulnerabilità possono potenzialmente essere sfruttate per accedere alle informazioni dei clienti o assumere il controllo delle sessioni dell’amministratore. La maggior parte di questi problemi richiede che un utente malintenzionato ottenga prima l’accesso all’amministratore. Di conseguenza, ti ricordiamo di adottare tutte le misure necessarie per proteggere il tuo amministratore, incluse, ma non solo, queste iniziative:
- INSERIRE NELL'ELENCO CONSENTITI IP
- Autenticazione a due fattori
- Utilizzo di una VPN
- Utilizzo di una posizione univoca anziché
/admin
- Buona igiene della password
Per le ultime discussioni su questi problemi risolti, consulta il Bollettino sulla sicurezza di Adobe.
Ulteriori miglioramenti della sicurezza
Miglioramenti di sicurezza per questa versione migliorano la conformità con le best practice più recenti, tra cui:
-
Le lacune nei registri delle azioni dell’amministratore sono state risolte con controlli più specifici delle azioni all’interno delle visualizzazioni griglia, delle azioni di massa e delle esportazioni.
-
La convalida reCAPTCHA non ha più esito negativo durante l’estrazione in caso di errori imprevisti durante l’elaborazione dei pagamenti. GitHub-35093
-
Nuova configurazione di sistema per richiedere la conferma e-mail quando un utente amministratore modifica la propria e-mail. Per ridurre la vulnerabilità del sito, è stata aggiunta una nuova impostazione di configurazione del sistema (disabilitata per impostazione predefinita) per richiedere la conferma e-mail quando un utente amministratore modifica la propria e-mail: Stores > Settings:Configuration > Customers > Customer Configuration > Account Information Options > Require email confirmation if an email has been changed. Quando questa opzione è abilitata, l’applicazione richiede la conferma e-mail ogni volta che l’utente amministratore modifica il proprio indirizzo e-mail. Il seguente modulo è interessato da questa modifica:
Magento_Customer
.
Miglioramenti alla piattaforma
Adobe Commerce 2.4.6 introduce il supporto per PHP 8.2. Il PHP 8.1 rimane completamente supportato.
Il supporto di PHP 7.4 è stato rimosso da questa versione. Non è possibile eseguire Adobe Commerce 2.4.6 su PHP 7.4.
Adobe Commerce 2.4.6 ora supporta:
-
Compositore 2.2.x. Compositore 1.x è stato rimosso.
-
Redis 7.0.x. Sebbene la compatibilità con Redis 6.2 rimanga, si consiglia di distribuire questa versione con Redis 7.0.x perché Redis 6.2 dovrebbe terminare nel 2024.
-
OpenSearch è ora supportato come motore di ricerca predefinito per le distribuzioni Adobe Commerce on-premise e cloud. È supportato come motore di ricerca indipendente per il Magento Open Source. Questa versione supporta OpenSearch v2.x ed è stata testata con OpenSearch 2.5. Sebbene la compatibilità con OpenSearch 1.x rimanga, si consiglia di utilizzare questa versione con OpenSearch 2.x. Puoi installare ed eseguire Adobe Commerce e Magento Open Source 2.4.6 con OpenSearch 2.x sia su Cloud che on-premise Prerequisiti per i motori di ricerca.
-
Elasticsearch 8.x. Vedere Elasticsearch aggiornamento.
-
MariaDB 10.6 (versione LTS). Questa versione è ancora compatibile con MariaDB 10.4, ma si consiglia di eseguire l'aggiornamento a MariaDB 10.6.
Altri aggiornamenti e sostituzioni
-
Migrazione dello schema DHL da v6.2 a v10.0.
-
Le librerie JavaScript obsolete sono state aggiornate alle versioni più recenti e le dipendenze obsolete sono state rimosse. Queste modifiche sono compatibili con le versioni precedenti.
-
La compatibilità PHP 7.4 è stata rimossa dal codebase di Commerce.
-
Le dipendenze di Symfony sono state aggiornate alla nuova versione LTS. Le dipendenze includono:
friendsofphp/php-cs-fixer
symfony/console
symfony/event-dispatcher
symfony/finder
symfony/process
web-token/jwt-framework
-
jquery-migrate
è stato rimosso dalla base di codice di Commerce. GitHub-21406 -
Libreria
jQuery/fileUpload
aggiornata alla versione v10.32. -
I componenti Zend framework (ZF1) che hanno raggiunto la fine del ciclo di vita sono stati rimossi dalla base di codice. Vedi Modifiche non compatibili con le versioni precedenti in evidenza.
-
Le dipendenze Laminas sono state aggiornate per supportare PHP 8.2.
-
Il plug-in del Compositore
laminas/laminas-dependency-plugin
è stato rimosso. GitHub-36515 -
Sostituzione di
Zend_Filter
conlaminas/laminas-filter
. -
Aggiornamento di
web-token/jwt-framework
alla versione v3.0.5. (versione più recente) -
Aggiornamento di
allure-framework/allure-phpunit
a v2.x. -
Aggiornamento della libreria
Chart-js
alla versione v3.9.1
Miglioramenti a livello di prestazioni e scalabilità
-
Prestazioni migliorate per le operazioni che interessano molti segmenti di clienti. Gli esercenti possono migliorare le prestazioni delle operazioni che coinvolgono più di 100 segmenti di clienti abilitando una nuova impostazione di configurazione. L'impostazione Real-time Check if Customer is Matched by Segment può essere disabilitata in base alle esigenze per ridurre i tempi di elaborazione riducendo la convalida di ogni segmento del cliente rispetto ai clienti. Consulta Convalida dei segmenti cliente.
-
Nuova impostazione di configurazione del sistema per limitare il numero di prodotti visualizzati nella griglia prodotti. I commercianti possono utilizzare la nuova impostazione di configurazione Limit Number of Products in Grid per migliorare le prestazioni della griglia di prodotti. Questo limite è configurato per 20000 per impostazione predefinita e influisce solo sulle raccolte di prodotti utilizzate dai componenti dell’interfaccia utente. Limitare il numero di prodotti visualizzati può migliorare le prestazioni delle operazioni per le griglie popolate da più di 200.000 prodotti. Vedi Limita il numero di prodotti nella griglia
-
Migliori prestazioni di importazione (fino a 100.000 record al minuto). I commercianti possono utilizzare il nuovo endpoint REST API
POST /rest/<store_view_code>/V1/import/csv
per importare dati in Adobe Commerce. Questo endpoint offre le stesse funzionalità della funzione di importazione Amministratore e supporta l’utilizzo di un file CSV per creare, aggiornare e rimuovere prodotti, prezzi di prodotto ed entità cliente. Vedi Importa dati. -
Sono state migliorate le prestazioni di elaborazione degli ordini ad alta velocità tramite il bilanciamento del carico. I clienti Adobe Commerce 2.4.6 su infrastrutture cloud che hanno un volume elevato di ordini simultanei (1000 ordini al minuto) possono ora migliorare le prestazioni di elaborazione degli ordini bilanciando il carico sul database tra nodi diversi. I commercianti possono ribilanciare questo carico abilitando connessioni secondarie per il database MySQL e le istanze Redis. Consulta Elaborazione ordine ad alta velocità
Metapacchetto dell’estensione Adobe Commerce
Questa versione introduce il metapackage di estensione Adobe Commerce v1.1.0, che raggruppa automaticamente con questa versione di base alcune estensioni Adobe Commerce. Le versioni di queste estensioni incluse in questo metapackage vengono installate durante l'esecuzione di composer update
, semplificando il processo di aggiornamento di tali estensioni quando si esegue l'aggiornamento alla versione di base più recente. Queste estensioni manterranno comunque pianificazioni di rilascio indipendenti.
Il metapacchetto dell’estensione Adobe Commerce per Adobe Commerce 2.4.6 include le due estensioni seguenti:
Le versioni future di questo metapacchetto di estensione conterranno estensioni aggiuntive.
Eventi di Adobe I/O per Adobe Commerce
Adobe I/O Events for Adobe Commerce acquisisce gli eventi Commerce e trasferisce i dati da Adobe Commerce ad altri Adobe. Gli sviluppatori possono creare in Adobe Developer App Builder app native per il cloud per abbonarsi a eventi Commerce come aggiornamenti dell’inventario, modifiche allo stato degli ordini e aggiornamenti dei prezzi. Gli sviluppatori possono utilizzare questa funzionalità per scambiare dati per l'orchestrazione dell'intero percorso di acquirenti nei propri sistemi mission-critical.
Aggiornamenti all’accessibilità
L’obiettivo di questa versione è stato quello di creare un’esperienza di vetrina su Venia (PWA) più percepibile, utilizzabile, comprensibile e solida. Questi miglioramenti includono:
- L'etichetta di testo visivo per il pulsante Sign in ora corrisponde al relativo nome accessibile. È consigliabile che il nome accessibile di un elemento dell’interfaccia utente inizi con il testo dell’etichetta visibile.
- Nomi descrittivi accessibili sono stati aggiunti ai pulsanti in tutta la vetrina.
- Sono state aggiunte etichette descrittive verbali alle caselle di controllo Has Video nei filtri di ricerca.
- Gli utenti che utilizzano solo la tastiera possono ora accedere a tutte le funzionalità della pagina nella vetrina. In precedenza, gli acquirenti non potevano accedere ai collegamenti di navigazione secondaria utilizzando solo la pressione dei tasti.
Integrazione di Adobe Commerce con Adobe IMS
I seguenti moduli Adobe IMS sono stati disaccoppiati dal codice core di Adobe Commerce 2.4.6 e sono ora inclusi come metapacchetto separato:
adobe-ims
adobe-ims-api
admin-adobe-ims
La nuova versione 2.2.0 di adobe-ims-metapackage
è inclusa in Adobe Commerce 2.4.6. Nessuna funzionalità è stata modificata in questa versione.
B2B
La funzione Ordini di acquisto per società è ora completamente esposta dall’API di GraphQL. Questa versione introduce due schemi GraphQL:
- Lo schema GraphQL dell’ordine di acquisto copre l’utente dell’azienda B2B Funzionalità di acquisto di Order Management come la creazione, la modifica e l’eliminazione degli ordini di acquisto. Vedi Ordini di acquisto (B2B).
- Lo schema GraphQL delle regole dell’ordine di acquisto consente di creare, modificare ed eliminare le regole di approvazione e di convalidare manualmente gli ordini di acquisto. Consulta Regole di approvazione ordini fornitore (B2B).
Questa versione include più correzioni di bug. Consulta Note sulla versione B2B.
Braintree
- Il pulsante Pay Later e i banner (messaggi) per Italia e Spagna sono stati abilitati per la Braintree.
- La messaggistica PayLater con PayPal Vault è stata abilitata.
- Sono stati aggiunti gli hook web di Protezione dalle frodi e ACH. Il web hook di protezione dalle frodi viene attivato quando una decisione relativa ai rischi è stata presa in Braintree. Il Web hook ACH viene attivato quando lo stato di un pagamento ACH viene aggiornato a
settled
osettlement decline
.
- È stato aggiunto l'hook Web LPM (Local Payment Methods).
GraphQL
I miglioramenti delle prestazioni di GraphQL includono:
È stato migliorato il tempo di risposta durante l'esecuzione di query sulle categorie per le quali sono abilitate le autorizzazioni per le categorie. I tempi di risposta sono migliorati quando si eseguono query su prodotti in categorie per le quali sono abilitate le autorizzazioni per le categorie e che contengono molti gruppi di clienti o cataloghi condivisi. Le modifiche al codice che supportano questo miglioramento delle prestazioni includono:
- L'operazione del resolver GraphQL è stata ottimizzata.
- Il provider di dati non reimposta più i dati memorizzati nella cache di runtime per ogni nuovo prodotto in fase di elaborazione, migliorando così le prestazioni.
- L’elaborazione delle autorizzazioni del prodotto è stata ottimizzata nel resolver GraphQL. Le autorizzazioni per i prodotti ora vengono applicate alle raccolte di prodotti anziché in base ai singoli prodotti.
- Le autorizzazioni ottimizzate vengono lette nei cataloghi condivisi nella mutazione
addProductsToCart
. - Le autorizzazioni del prodotto sono state ottimizzate con frammenti in linea del prodotto.
Prestazioni ottimizzate per il rendering della struttura delle categorie. La query categoryList
è stata ottimizzata per supportare clienti con un numero elevato di categorie. I commercianti che utilizzano questa query per cercare più di 1500 categorie con fino a cinque livelli di sottocategorie nidificate noteranno un miglioramento delle prestazioni. Il caricamento degli elementi figlio delle categorie tramite il codice di refactoring è stato migliorato rimuovendo le chiamate ai metodi non necessarie, migliorando la memorizzazione nella cache della struttura delle categorie e caricando i dati delle categorie in modo ricorsivo. Le modifiche al codice che supportano questo miglioramento delle prestazioni includono:
- È stato migliorato il recupero dei metadati degli attributi personalizzati per i modelli di categoria.
- Il recupero dell'ID categoria è stato migliorato e le chiamate
getChildren
sono state ridotte. - Il caricamento degli elementi figlio della categoria è stato migliorato.
Tempi di risposta ridotti per le query delle operazioni bulk cart. Le mutazioni di aggiungi prodotto sono state ottimizzate per migliorare le prestazioni delle query aggiungendo fino a 500 prodotti semplici e configurabili. I prodotti bundle non subiscono modifiche. Le mutazioni ottimizzate includono addProductsToCart
, addConfigurableProductsToCart
, addDownloadableProductsToCart
, addSimpleProductsToCart
, addVirtualProductsToCart
,addWishlistItemsToCart
e updateCartItems
.
la query del cliente ora supporta l'ordinamento degli ordini. L'oggetto di output orders
della query customer
ora contiene un campo di ordinamento. È ora possibile ordinare gli ordini in base al numero di ordine o alla data di creazione e in ordine crescente o decrescente.
Nuove mutazioni:
deleteCustomer
Page Builder
Page Builder v.1.7.3 è compatibile con Adobe Commerce 2.4.6.
PWA Studio
PWA Studio v.13.0.x è compatibile con Adobe Commerce 2.4.6. Include diversi miglioramenti per migliorare l’accessibilità. Per informazioni sulle correzioni di bug, vedi Versioni di PWA Studio. Consulta Compatibilità della versione per un elenco delle versioni di PWA Studio e delle relative versioni di base compatibili di Adobe Commerce.
Problema noto
Problema: New Relic non è attualmente compatibile con PHP 8.2. Le implementazioni che eseguono New Relic possono eseguire Adobe Commerce 2.4.6 su PHP 8.1 ma non su PHP 8.2. Soluzione: eseguire Adobe Commerce 2.4.6 su PHP 8.1 fino a quando non verrà rilasciata una nuova versione di New Relic che supporta PHP 8.2. Questa versione è prevista per l’estate 2023.
Problemi risolti
Sono stati risolti centinaia di problemi relativi al codice core di Adobe Commerce 2.4.6. Di seguito è descritto un sottoinsieme dei problemi risolti inclusi in Adobe Commerce 2.4.6.
Installazione, aggiornamento, distribuzione
- L’implementazione di contenuti statici non si interrompe più per timeout o non riesce durante le distribuzioni standard o compatte con più impostazioni internazionali e siti web.
- La strategia compatta non causa più un riferimento non valido a un dominio esterno durante l'esecuzione della distribuzione di contenuto statico (
bin/magento set:static-content:deploy -f --strategy compact
).
- L'esecuzione di
bin/magento setup:di:compile -vvv
(o con le opzioni-v
o-vv
) ora restituisce un messaggio informativo sull'errore. GitHub-35391
- Adobe Commerce non genera più la seguente eccezione quando si esegue il comando
bin/magento setup:upgrade
in una distribuzione che esegue già lo strumento di migrazione dati: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
- Il comando
bin/magento setup:db:status
non ha più esito negativo negli ambienti che eseguono MySQL 8.0.29. In precedenza, l’output del comando indicava erroneamente che lo schema dichiarativo era obsoleto. GitHub-35671
- Il comando
composer install
non sovrascrive più.gitignore
file. GitHub-32888
- L'esecuzione di
bin/magento sampledata:remove
per rimuovere i dati di esempio dopo l'aggiornamento su Alpine Linux non ha più esito negativo con questo errore:Undefined constant "MagentoHackathon\Composer\Magento\Deploystrategy\GLOB_BRACE
. GitHub-36062
bin/magento setup:upgrade
ora viene eseguito correttamente dopo la prima esecuzione dicomposer install --no-dev
. GitHub-36351
- Le eccezioni e le voci di traccia dello stack delle eccezioni sono ora incluse in
var/log/exception.log
. GitHub-36054
- Adobe Commerce ora genera un errore di convalida del parametro quando si utilizza la riga di comando per impostare una connessione Redis senza una password.
Accessibilità
- I pulsanti Proceed to Checkout, Review Order e Place Order nel flusso di lavoro di estrazione ora funzionano come previsto con l'input da tastiera.
- L'indicazione visiva dello stato attivo sui pulsanti quando si utilizza TAB o SHIFT + TAB per spostarsi tra i controlli pagina ora funziona come previsto.
Lettori di schermo
- L'utilità di lettura dello schermo per la pagina della cronologia degli ordini legge ora la descrizione corretta dell'immagine.
Gli assistenti vocali ora annunciano:
- Numero totale di elementi trovati nei risultati di ricerca come previsto
- Nome dell'utente connesso quando un utente effettua correttamente l'accesso utilizzando i controlli della tastiera
- L'intestazione della pagina dei risultati della ricerca dei prodotti ora legge il valore corretto per l'elemento di tipo
<title>
- Indica se i campi di input sono obbligatori
- Correggere lo stato corrente degli elementi del Pannello a soffietto (compresso ed espanso)
- Quando il contenuto della pagina è stato aggiornato dopo che l'utente ha fatto clic sul pulsante Create an account
Prodotti bundle
- L’aggiornamento del prodotto bundle tramite API per una visualizzazione store specifica ora non esclude altri dati di visualizzazioni store per lo stesso prodotto bundle. In precedenza, i titoli delle opzioni dei prodotti bundle venivano sostituiti con il primo titolo dell’opzione per altre visualizzazioni dello store.
- I prodotti in bundle possono ora essere filtrati dall'amministratore Catalog > Products quando si utilizza una lingua olandese. In precedenza, Adobe Commerce mostrava questo errore quando si tentava di filtrare in base a
Type: Bundle Product
:Something went wrong with processing the default view and we have restored the filter to its original state
. GitHub-35704
- La griglia prodotti non genera più un’eccezione quando i prodotti bundle hanno un prezzo speciale che supera i 1000. In precedenza, quando si effettuava la ricerca del prodotto per SKU o si passava a Catalog > Products, Adobe Commerce generava questo errore:
Non Numeric value encountered
. GitHub-36284)
- Le colonne nella nota di accredito e nei PDF di fattura per gli ordini che contengono una combinazione di bundle e prodotti semplici ora vengono riprodotte correttamente. In precedenza, le colonne risultavano distorte o non allineate.
- Nelle query GraphQL che contengono un frammento
BundleProduct
, l'oggettoitems.options.product
contiene i dati come previsto. In precedenza, l’oggetto poteva essere nullo in alcune circostanze.
- Le quantità decimali per le opzioni del bundle ora vengono riprodotte correttamente quando Quantity uses decimals è abilitato. In precedenza, veniva eseguito il rendering solo della parte intera della quantità, non del componente frazionario. Ad esempio, è stata riprodotta una quantità di 1,5 come 1,0. GitHub-35964
- Le query sui prodotti GraphQL ora restituiscono solo le opzioni dei prodotti del bundle nell’ambito dello store su cui viene eseguita la query.
- I prodotti non assegnati a categorie, ma che sono opzioni di prodotto per prodotti bundle o raggruppati, ora vengono restituiti nelle risposte quando l'impostazione di configurazione Allow Category Browsing è abilitata per il cliente che invia la query.
Cache
- La cache a pagina intera non viene più scaricata dopo l’evasione dell’ordine a meno che il prodotto ordinato non sia esaurito. In precedenza, la cache veniva eliminata per la categoria ogni volta che veniva creata una spedizione.
- I dati vengono ora memorizzati correttamente quando la cache L2 è configurata e i dati remoti vengono parzialmente eliminati. In precedenza, dopo lo scaricamento solo della cache di dati senza hash di tali dati, la nuova cache non veniva salvata mentre esistevano gli hash di dati.
- Sono stati corretti i difetti in
CatalogUrlResolverIdentity
eCmsUrlResolverIdentity
che impedivano il caching. Ciò interessava la memorizzazione nella cache delle query di route su più richieste.
Carrello e pagamento
- Gli acquirenti possono ora aggiungere un articolo aggiuntivo al carrello quando il carrello contiene la quantità minima del prodotto semplice.
- Le chiamate REST API per il recupero dei dati del carrello ora restituiscono gli stessi valori
grand_total
ebase_grand_total
quando la valuta di archiviazione e la valuta di base sono uguali. GitHub-34649
- Il valore esportato di Maximum Qty Allowed in Shopping Cart ora corrisponde al valore predefinito impostato nell'impostazione di configurazione Admin.
- Adobe Commerce ora calcola correttamente il totale complessivo per i rimborsi degli ordini con uno sconto per la spedizione.
- Google reCAPTCHA ora funziona come previsto per gli ordini in vetrina. In precedenza, Adobe Commerce mostrava questi errori quando Google ReCAPTCHA non era selezionato per la prima volta prima che un acquirente tentasse di effettuare un ordine:
ReCaptcha validation failed, please try again
eNo such cart with id = ID
.
- L’aggiornamento dell’immagine CAPTCHA ora rispetta l’impostazione di configurazione Admin e non viene attivato quando l’impostazione è disabilitata. In precedenza, l’aggiornamento veniva attivato ogni volta che il metodo di pagamento cambiava, indipendentemente dal fatto che l’impostazione fosse abilitata o disabilitata. GitHub-34855
- Adobe Commerce ora visualizza una finestra a comparsa di conferma come previsto prima di reindirizzare un acquirente alla pagina successiva quando cambia la quantità di prodotto nella pagina del carrello senza aggiornare il carrello, quindi tenta di passare alla pagina successiva.
- Gli acquirenti possono ora diminuire la quantità di un prodotto dal carrello dopo che è stato diminuito nell’amministratore. In precedenza, Adobe Commerce generava il seguente errore quando un acquirente tentava di ridurre la quantità di prodotto:
The requested qty is not available
. GitHub-35780
- Adobe Commerce non genera più un errore nella console JavaScript quando la quantità di prodotto supera il massimo configurato durante il pagamento con spedizione multipla. Al contrario, Adobe Commerce ora visualizza un messaggio di errore informativo. GitHub-36184
- La quantità dell'articolo sulla pagina del carrello non viene più rappresentata come numero negativo quando un acquirente utilizza il tasto freccia giù sulla tastiera per modificare la quantità del prodotto. GitHub-36299
- Gli acquirenti non possono più aggiungere al carrello un prodotto di una categoria che non è più consentita dopo aver cambiato il gruppo di clienti a cui appartiene l’acquirente. Adobe Commerce ora controlla l’accesso delle autorizzazioni del gruppo di clienti per specifiche categorie quando vengono modificate le impostazioni di configurazione delle autorizzazioni.
- I carrelli acquisti dei clienti non vengono più svuotati prima della creazione dell’ordine da parte dell’amministratore e il contenuto del carrello viene ora ripristinato se l’ordine viene annullato o abbandonato. Gli elementi vengono ora rimossi dal carrello solo dopo la creazione dell’ordine. In precedenza, ogni volta che un utente amministratore tentava di creare un ordine nella pagina Admin Manage Shopping Cart (Gestisci carrello acquisti), il carrello veniva svuotato.
- Il mini carrello visualizza ora le immagini del prodotto corrette dopo l'esecuzione di
bin/magento catalog:image:resize
. In precedenza, tutte le immagini venivano sostituite dall’immagine segnaposto del prodotto predefinita. GitHub-35535
- Il pagamento può essere completato correttamente se l'indirizzo di spedizione contiene un attributo di estensione. In precedenza, Adobe Commerce ha generato questo errore:
Object of class Magento\Quote\Api\Data\AddressExtension could not be converted to string
. GitHub-34202
- La mutazione
addBundleProductsToCart
non aggiunge più prodotti a un preventivo se un'opzione di prodotto richiesta non ha valore. GitHub-25676
- Adobe Commerce ora restituisce un messaggio informativo quando una mutazione
addProductsToCart
non riesce quando si aggiunge al carrello un prodotto con autorizzazioni insufficienti.
- Adobe Commerce non genera più un errore nella pagina del carrello quando si utilizza l’ordine rapido per aggiungere un prodotto in una quantità che supera le scorte disponibili.
- La mutazione
setGiftOptionsOnCart
ora richiede l'autorizzazione del cliente per le operazioni del carrello clienti.
Regola prezzo carrello
- Le opzioni di spedizione gratuita della regola del prezzo del carrello impostate durante la creazione della regola ora vengono applicate agli ordini come previsto. In precedenza, le opzioni di spedizione gratuita applicate durante la creazione della regola venivano ignorate durante il pagamento e la spedizione gratuita non era consentita al momento dell’applicazione della regola. GitHub-35013
- La colonna
discount_percent
della tabellasales_order_item
per un prodotto ora viene compilata come previsto con la percentuale di sconto quando la quantità di sconto dell'articolo non è impostata o è maggiore o uguale alla quantità dell'articolo dell'ordine. In precedenza, questa colonna non veniva compilata quando si applicava una regola di prezzo del carrello a questo prodotto.
Catalogo
- Il widget elenco prodotti non visualizza più prezzi errati o memorizzati nella cache per un acquirente registrato. Il prezzo visualizzato nel widget della home page ora corrisponde all'indirizzo del cliente e viene aggiornato quando il cliente aggiorna l'indirizzo. In precedenza, la cache del browser non aggiornava i prezzi dei prodotti nella home page in base alle regole fiscali del gruppo di clienti.
- La funzione Confronta prodotti ora funziona correttamente in una distribuzione multisito e dipende dal sito Web.
- Adobe Commerce non visualizza più i dati della pagina precedente quando ricarichi una pagina dei dettagli di un prodotto. In precedenza, quando la pagina dei dettagli del prodotto veniva ricaricata, i dati della prima scheda venivano uniti ai dati appena caricati per un secondo diviso.
- Le categorie con sottocategorie possono ora essere espanse nel menu principale sui dispositivi mobili come previsto. In precedenza, gli acquirenti non potevano aprire o espandere le categorie con sottocategorie nelle distribuzioni per dispositivi mobili. GitHub-35329
- Gli elenchi delle categorie ora vengono aggiornati come previsto quando un prodotto viene assegnato a un nuovo sito Web o store. In precedenza, l'indicizzatore del prezzo del prodotto non era contrassegnato come non valido e successivamente è stato riattivato in un'esecuzione
cron
come previsto. Di conseguenza, l’inserimento del prezzo del prodotto non era presente nella tabella dell’indice dei prezzi e non veniva visualizzato nel nuovo negozio o sito web.
- Il conteggio dell'inventario storefront è ora accurato quando l'impostazione di configurazione Display Out of Stock Products è abilitata. GitHub-35899
- La pagina della categoria non è più vuota quando l'impostazione Allow All Products Per Page è abilitata. GitHub-35900
- L'opzione di configurazione Display Out of Stock Products ora funziona come previsto quando è abilitata. In precedenza, tutti i prodotti venivano visualizzati come esauriti nella vetrina quando questa opzione era abilitata in Amministrazione. GitHub-35898
- Ora i clienti assegnati a un gruppo all’ingrosso possono aggiungere un prodotto raggruppato al carrello, se consentito dalle autorizzazioni per le categorie. Se questa autorizzazione non è definita per un gruppo di clienti, l’impostazione di configurazione ha la precedenza.
- L’ordinamento dei prodotti in base agli attributi booleani ora funziona come previsto. GitHub-36390
- Gli sconti della regola del prezzo di catalogo non vengono più applicati alle opzioni di prodotto personalizzate a prezzo fisso, ma solo al prezzo originale del prodotto.
- I prodotti correlati vengono ora recuperati correttamente nella pagina dei dettagli del prodotto della vetrina quando vengono generati dalla regola del prodotto correlata per gli attributi alfanumerici del prodotto. GitHub-36285
- Le regole del prezzo di catalogo ora tengono conto dell’ambito selezionato e vengono applicate ai prodotti solo per i siti web per i quali l’attributo ha un valore di opzione che corrisponde alla regola. In precedenza, la regola non teneva conto dell’ambito selezionato nelle distribuzioni multisito. GitHub-36049
- Gli attributi di colore e dimensione delle opzioni dei campioni ora sono preselezionati nella pagina dei dettagli del prodotto quando un acquirente modifica il prodotto configurabile dalla pagina Il mio carrello. (jQuery 3.x supporta ora il nome del widget
swatchRenderer
, che ora è Camel Case.) In precedenza, l’opzione campione non era preselezionata.
- Ora i clienti vengono avvisati del calo dei prezzi dei prodotti quando il cliente è abbonato all’avviso di calo dei prezzi. In precedenza, le notifiche di calo dei prezzi non venivano sempre inviate a causa del caching a livello di applicazione.
- Le regole del catalogo basate su SKU con la condizione is not one of ora funzionano come previsto.
- Adobe Commerce non presuppone più erroneamente che una categoria sia la categoria padre di un’altra in base al percorso della categoria. In precedenza, quando due categorie erano adiacenti e un ID di categoria inizia con l’ID di categoria di un’altra categoria, Adobe Commerce presupponeva che le categorie avessero la stessa categoria principale. GitHub-32464
Prodotti configurabili
- Adobe Commerce non genera più un errore quando un utente amministratore aggiunge manualmente prodotti a un prodotto configurabile a cui sono già assegnati molti prodotti semplici. In precedenza, Adobe Commerce visualizzava questo errore:
Something went wrong with processing the default view and we have restored the filter to its original state
.
- Gli acquirenti non possono più aggiungere al carrello prodotti configurabili con una quantità vendibile pari a 0 nelle distribuzioni con ordini arretrati disabilitati. Adobe Commerce ora indica che il prodotto è esaurito. GitHub-35319
- La creazione di un nuovo prodotto mediante l’importazione di un prodotto configurabile con molte opzioni da una diversa visualizzazione dello store ora genera una copia esatta del primo prodotto come previsto. In precedenza, l’ordinamento delle opzioni configurabili del nuovo prodotto era errato e i titoli non venivano tradotti nelle impostazioni locali della nuova visualizzazione store in implementazioni con più visualizzazioni store e impostazioni locali. GitHub-35200
- I prodotti configurabili con tutti i prodotti secondari esauriti vengono ora visualizzati come esauriti sul vetrina.
- Ora gli SKU di prodotto configurabili e i nomi dei prodotti vengono visualizzati con precisione. In precedenza, nomi e SKU venivano visualizzati come non definiti dopo lo spostamento di un gruppo di attributi al di sopra del gruppo Dettagli prodotto in Stores > Attribute set. GitHub-36309
Coupon
- È stata aggiunta una logica di convalida al flusso di lavoro Gestisci codici coupon per applicare le impostazioni del codice coupon durante la generazione dei coupon. In precedenza, la generazione del codice coupon ignorava l'impostazione Code Length quando il valore Quantità coupon era maggiore di 2500.
- I punti premio vengono ora aggiunti al conto di un cliente come previsto quando viene applicato un buono sconto durante il pagamento con il metodo di pagamento PayPal Express.
- Ora puoi applicare un codice coupon durante la creazione dell’ordine di amministrazione quando la regola del prezzo del carrello ha come condizione il peso. In precedenza, i codici coupon non venivano impostati se non venivano selezionati altri campi per il prodotto. GitHub-36271
- Ora puoi filtrare i rapporti coupon per più regole di prezzo del carrello. GitHub-36272
- Le opzioni personalizzate vengono ora applicate e salvate quando un utente amministratore preme Enter durante la configurazione di un prodotto con opzioni personalizzate. In precedenza era possibile selezionare le opzioni e aggiungere il prodotto a un ordine, ma le opzioni non venivano salvate e all’utente amministratore veniva richiesto di selezionare nuovamente le opzioni del prodotto. GitHub-35284
- I codici coupon possono ora essere esportati correttamente in Excel XML. In precedenza, il file generato non conteneva tutti i codici coupon selezionati, ma solo tutti gli elementi selezionati nel selettore elementi per pagina.GitHub-36073
cron
- Il processo cron
catalog_index_refresh_price
ora viene eseguito correttamente. In precedenza, Adobe Commerce registrava questo errore durante l'esecuzione 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
.
Valuta
- È stato aggiunto uno spazio mancante tra i simboli di valuta personalizzati e i prezzi dei prodotti sia in vetrina che in Admin. Sono state aggiunte la condizione appropriata e l’espressione regex per consentire un NBSP personalizzato nei simboli di valuta. Ad esempio, IDRx 105.00 è stato visualizzato in precedenza come IDRx105.00.
Segmento cliente
- Il filtro Sì/No nella griglia dei segmenti cliente amministratore durante la creazione di una nuova regola di prezzo del carrello ora funziona come previsto.
- Adobe Commerce non invia più e-mail duplicate di un cliente dopo la creazione di un ordine dall’amministratore.
- Le e-mail degli ordini di amministrazione non vengono più inviate quando l'impostazione Email order confirmation è disabilitata. GitHub-36256
- Le opzioni immagine non vengono più visualizzate come markup HTML nella nota di accredito, nella conferma dell'ordine e nelle e-mail del cliente della fattura (modello predefinito) per i prodotti con opzioni personalizzate.
Framework
- Gli utenti Admin possono ora aprire correttamente la pagina Admin Store > Configuration quando nessun paese nell'impostazione European Union Countries (Stores > Configuration > General > Country options > European Union Countries). In precedenza, quando un utente amministratore tentava di aprire questa pagina, Adobe Commerce generava questo errore:
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
jquery.cookie
dipendenze ora funzionano come previsto con le dipendenze di JavaScript. In precedenza non era possibile utilizzare alias perjquery/jquery.cookie
. GitHub-35913
- Il comando
bin/magento i18n:collect-phrases
ora include<title>
testo nel file CSV esportato. GitHub-35462
Magento\Framework\Code\Reader\ArgumentsReader::getParentCall()
ora supporta gli argomenti del costruttore denominato. È ora possibile chiamare una funzione impostando i parametri in base al loro nome.
- Gli errori vengono ora registrati come previsto nel file
exception.log
. In precedenza, anche se nel filesystem.log
venivano registrati errori, invar/log/exception.log
non venivano registrati errori.
- I commercianti ora possono specificare un provider SMTP esterno personalizzato. GitHub-26104
- È ora possibile autorizzare nuovamente le integrazioni OAuth, come previsto, nelle implementazioni che eseguono Adobe Commerce 2.4.3-p2. Precedentemente, la riautorizzazione non è riuscita con questo errore:
The attempt to post data to consumer failed due to an unexpected error. Please try again later
. Adobe Commerce ha inoltre tentato di decrittografare i valori non crittografati. GitHub-35313
- Il parametro
rowId
corretto viene ora passato quando la categoriaurlKey
viene salvata per le categorie con categorie figlio. In precedenza,categoryId
errato veniva passato durante il salvataggio della categoriaURLKey
.
- Il codice attributo prodotto
event
è stato aggiunto all'elenco dei codici attributo prodotto riservati. In questo modo vengono eliminati gli errori associati all'utilizzo di un attributo con questo nome nella vetrina. In precedenza, l'applicazione aveva generato questo errore nelle pagine dei dettagli del prodotto e di ricerca/elenco prodotti quando veniva utilizzatoevent
: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
.
- I messaggi di errore di convalida della vetrina che si verificano durante il posizionamento dell'ordine ora vengono visualizzati in modo coerente. In precedenza, i messaggi venivano visualizzati, compressi e quindi rivisualizzati. GitHub-35651
- I consumatori AMQP non hanno più esito negativo a causa di una funzione
trim()
obsoleta nelle distribuzioni che eseguono PHP 8.1. In precedenza, quando il consumer AMQP veniva avviato dopo l'installazione, Adobe Commerce generava questo errore: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
- Il metodo
getFilteredTimerIds
ora funziona come previsto. La classeMagento\Framework\Profiler\Driver\Standard\Stat
è ora compatibile con PHP 8.1. In precedenza, Adobe Commerce generava un’eccezione durante la chiamata di questo metodo. GitHub-35307
- È stata rimossa la dipendenza dalla libreria
imagemin-svgo
.
- Il processo del modello di minimizzazione ora elabora correttamente i commenti consecutivi quando il primo commento inizia con
//
. GitHub-34880
- È stata corretta una query del database emessa dal modulo
BundleGraphQl
che ha restituito questo errore:"debugMessage": "Notice: Undefined offset: 16 in vendor/magento/module-bundle-graph-ql/Model/Resolver/Options/Collection.php on line 130"
.GitHub-34991
Correzioni generali
- Adobe Commerce ora visualizza un intervallo di tempo preciso quando un utente amministratore seleziona l'opzione Last 24 Hours dal dashboard delle statistiche di amministrazione. In precedenza, Adobe Commerce mostrava un intervallo di tempo errato. Ciò si è verificato perché il fuso orario del database è rimasto invariato.
- È ora possibile generare note di credito sia per le quantità intere che per quelle decimali. In precedenza erano supportate solo le quantità intere.
- La regola di convalida dell'input Codice postale cliente per il tipo solo numerico ora funziona come previsto nel campo Edit Customer Address (Store > Attribute > Customer Address). In precedenza, le informazioni sull’indirizzo del cliente venivano salvate senza la convalida del codice postale.
- Gli utenti amministratore con accesso limitato a un sito web ora possono accedere correttamente all’amministratore utilizzando la funzione Accedi come cliente.
- Gli account cliente condivisi a livello globale dispongono ora di indirizzi convalidati in base all'elenco dei paesi consentiti per il sito Web corrente e salvati correttamente. In precedenza, questi account venivano erroneamente convalidati rispetto ai paesi consentiti del sito web in cui il cliente era registrato.
- Le breadcrumb dalla gerarchia delle pagine di CMS non vengono più visualizzate quando Enable Hierarchy Functionality è disabilitato. In precedenza venivano visualizzate le breadcrumb e quando gli acquirenti facevano clic su di esse veniva visualizzata una pagina 404. GitHub-35513
- La rimozione di un prodotto da tutti i siti Web tramite Admin non causa più il seguente errore:
SQLSTATE[42000]: Syntax error or access violation
. GitHub-35133
- I clienti che superano il numero massimo di tentativi di accesso non riusciti possono effettuare l’accesso dopo la reimpostazione della password. GitHub-34981
- Il componente Righe dinamiche ora si comporta come previsto quando un utente amministratore aggiunge un nuovo elemento. In precedenza, il componente riga si comportava in modo errato quando un nuovo prodotto semplice veniva aggiunto a un prodotto raggruppato. GitHub-34850
- Sono stati corretti errori di battitura e grammatica errata nel file
app/code/Magento/Backend/etc/menu.xsd
.
- Il file
app/code/Magento/Authorization/README.md
è stato aggiornato per descrivere con precisione la creazione della tabella.
- Il metodo
recordLogin
è stato aggiornato per impostare i valori di accesso nel modello utente e per mantenere i valori corretti nei campilogdate
elognum
della tabellaadmin_user
. In precedenza, i tentativi di accesso per gli utenti amministratori aggiornati non venivano registrati.
- I modelli di problema GitHub sono stati convertiti in moduli di problema per problemi di esperienza degli sviluppatori e richieste di funzioni.
- L'attributo cliente
Is required
è ora implementato correttamente per ambito sito Web per il modulo di modifica cliente amministratore.
- Il campo Grid Filter Condition Type degli attributi dell'indirizzo del cliente e del cliente non è più visibile nella pagina di modifica degli attributi quando l'impostazione Use in Filter Options è disabilitata.
- Adobe Commerce ora visualizza un messaggio di errore informativo se un commerciante non riesce a immettere un valore di attributo SKU facoltativo durante la creazione di un prodotto. In precedenza, l'applicazione generava questa eccezione quando l'attributo era facoltativo:
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
- Il filtro Show my quotes sulla pagina My Quotes ora funziona come previsto. In precedenza, i risultati del filtro includevano le virgolette di altri utenti amministratori.
Biglietti regalo
- Gli importi dei prodotti gift card ora rimangono invariati rispetto alla quantità specificata in un file CSV durante l’importazione. Sono state aggiunte verifiche per le opzioni esistenti e i valori precedenti vengono ora aggiornati in base a una chiave univoca. In precedenza, gli importi delle gift card venivano raddoppiati quando venivano importate più volte.
Confezione regalo
- Il prezzo per la confezione regalo viene ora visualizzato come previsto nel blocco di riepilogo dell'ordine quando la confezione regalo viene applicata a livello di ordine a un ordine che contiene prodotti fisici e virtuali. In precedenza, Adobe Commerce non mostrava il prezzo per la confezione regalo.
GraphQL
Types
che implementano più interfacce nel codice GraphQL ora possono essere separate da un segno&
e da,
in conformità alla specifica@doc
di GraphQL.
- La mutazione
setShippingAddressesOnCart
ora supporta l'impostazione di codici di area numerici comeregion
. In precedenza, questa mutazione funzionava in modo errato per i valori dei codici di area numerici.
- La query
products
ora restituisce solo le revisioni associate all'ambito specificato. In precedenza, le query restituivano recensioni da tutti gli store.
- Le autorizzazioni per le categorie ora vengono rispettate durante le richieste di GraphQL.
- La query
customer
ora filtra correttamente gli ordini con un intervallofrom
eto
specificato. GitHub-31537
- La query
product
ora restituisce dati di categoria corretti nell'aggregazione. In precedenza,attribute_code.category_uid
restituiva il valore dicategory_id
invece dicategory_uid
.
- La query
customerOrders
non genera più un errore\"model\" value should be specified
. GitHub-35852
- La query
customer
ora filtra gli ordini in base all'ambito. Ora puoi specificare se la query deve filtrare gli ordini per negozio, sito Web o a livello globale.
- La query
categoryList
ora restituisce un conteggio accurato dei prodotti per le categorie padre ancorate e non ancorate. Il nuovo attributois_anchor
è stato aggiunto all'elenco delle colonne selezionate della raccolta categorie. In precedenza, le richieste restituivano un conteggio di prodotti pari a 0. GitHub-36300
- La mutazione
generateCustomerTokenAsAdmin
ora funziona come previsto durante la creazione di un token per accedere a un archivio non predefinito in una distribuzione multi-store. GitHub-35084
- La mutazione
createEmptyCart
genera ora un'eccezione come previsto quando viene utilizzato un token scaduto. GitHub-26112
- I messaggi di errore relativi alle query sul carrello sono stati resi più informativi. GitHub-34546
- I dati di aggregazione nella risposta di una query
products
ora includono valori corretti per gli attributi del tipo di prezzoattribute_code
elabel
. GitHub-28878
- La query
products
restituisce le informazioni sulla categoria come previsto quando il prefisso del database ha un valore non Null. In precedenza, restituiva unInternal server error
. GitHub-36117
- È stato corretto il tipo restituito per il metodo
getCustomerIsGuest
. GitHub-29529
- Refactoring del plug-in
Magento\CatalogGraphQl\Plugin\DesignLoader
eseguito.
- Il ricaricamento del carrello ora viene attivato una sola volta come previsto quando il carrello viene inizializzato da mutazioni GraphQL. In precedenza, il caricamento del carrello attivava un’inutile riconvalida del carrello rispetto alle scorte, che consumavano risorse significative ogni volta che il carrello veniva caricato.
- È stato aggiunto il tipo
gift_message
aOrderItemInterface
. GitHub-29418
- Le opzioni prodotto restituite nelle risposte di GraphQL ora includono solo i prodotti all’interno del catalogo a cui appartiene l’utente. Se l’utente appartiene a un catalogo condiviso, vengono restituiti solo i prodotti nei cataloghi condivisi. Se l'utente è ospite o non fa parte di un catalogo condiviso personalizzato, vengono restituiti solo i prodotti del catalogo pubblico.
Google ReCAPTCHA
- Un errore reCAPTCHA nel file
var/log/exception.log
per l'accesso amministratore reCAPTCHA di Google V3 è stato risolto e non vengono registrati messaggi di errore. In precedenza, quando un utente amministratore configurava le impostazioni Configuration > Security > Google reCAPTCHA Admin Panel, veniva generato il seguente errore a intervalli di pochi secondi: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
Immagine
- Sono stati aggiornati i consigli sulle dimensioni del logo per la distinta fattura PDF.
Importa/esporta
- L'importazione di un prodotto con lo stesso codice URL numerico di un prodotto esistente, ma senza il relativo carattere alfabetico terminale, non causa più un errore di convalida quando Product URL Suffix è impostato su vuoto in Amministrazione.
- Il comando
bin/magento app:config:import
importa correttamente il contenuto di un fileconfig.php
quando contiene determinate espressionicron
. In precedenza, l'importazione non era riuscita con questo errore: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
- L’esportazione completa ora funziona correttamente quando AWS S3 viene utilizzato come archiviazione remota. In precedenza, l’esportazione non riusciva a causa delle dimensioni del file caricato.
- Lo stato del prodotto ora viene importato correttamente quando mancano le colonne dei dati di inventario nel file CSV. In precedenza, dopo l’importazione del prodotto, l’origine predefinita veniva assegnata automaticamente al prodotto, la sua quantità veniva impostata su zero e il suo stato veniva elencato come esaurito quando mancavano le colonne dei dati di inventario nel file CSV.
- L'importazione dei valori di Advanced Pricing ora fornisce il conteggio corretto per i record nuovi e aggiornati quando l'importazione include più di 100 record. In precedenza, il messaggio di completamento dell’importazione conteneva un conteggio errato.
- I file CSV esportati ora contengono percorsi corretti per i nomi delle categorie, che vengono salvati in più lingue. È stato aggiunto un ID store per la raccolta di categorie. In precedenza, i file esportati contenevano percorsi misti con lingue diverse invece di un percorso di categoria derivato dalla vista archivio predefinita.
- L’aggiornamento delle opzioni personalizzate per un prodotto in una visualizzazione specifica dello store tramite l’importazione ora viene completato correttamente. In precedenza, se una riga relativa al prodotto veniva suddivisa in più batch, veniva generato un errore interno del server.
- Il servizio di importazione
Fixer.io
ora funziona come previsto. I tassi di cambio vengono ora importati correttamente. GitHub-36010
Indice
- L'indicizzatore
batch_size
per l'indicecatalogpermissions_category
è ora modificato nel valore specificato nel fileenv.php
come previsto. In precedenza, un errore di battitura nel percorso per l'override dell'indicizzatorebatch_size
impediva la modifica della dimensione del batch al valore specificato inenv.php
. GitHub-652
- La reindicizzazione dei prezzi ora viene eseguita correttamente quando il catalogo contiene prodotti bundle non assegnati ad alcun sito Web. In precedenza, durante l'esecuzione dell'indice dei prezzi del prodotto si verificava l'errore seguente:
Warning: Undefined array key <bundel product id > in vendor/magento/module-bundle/Model/ResourceModel/Indexer/Price/DisabledProductOptionPriceModifier.php on line 117
. GitHub-35796
Infrastruttura
- È stata aggiunta la bonifica dei valori
DATE
eDATETIME
nelle immagini di database per il supporto Adobe Commerce. In precedenza, i campi del tipo datetime non venivano bonificati per le tabelle cliente/preventivo/ordine nella tabella di backup del database.
- La funzione
escaper.js
escapeHtml
converte ora il carattere speciale e commerciale (&) in"$amp;"
in base alla regolaInnerHtml
. Questa soluzione generica risolve i problemi di conversione dei riferimenti a caratteri speciali e caratteri nella casella di immissione del titolo e salva il valore esatto come inserito. In precedenza, i caratteri e commerciale (&) non venivano codificati correttamente nei nomi dei nodi nella gerarchia dei contenuti.
- Sono stati risolti i problemi relativi al modulo di terze parti
colinmollenhour/php-redis-session-abstract
e PHP 8.1. GitHub-35634
Raccolta file multimediali
- La Raccolta file multimediali legacy è ora disabilitata per impostazione predefinita. In precedenza, Enable old Media gallery era impostato su Yes.
- New Media Gallery è stato ottimizzato per migliorare il caricamento della struttura di directory nella pagina categoria.
Registrazione
- È ora possibile generare report di sistema per file di registro di 0 byte. In precedenza, Adobe Commerce generava un errore durante la generazione di un rapporto per una raccolta di file di registro quando uno o più file erano vuoti.
Ordine
- Nella pagina Nota credito ordine cliente amministratore viene ora visualizzato il totale complessivo corretto per gli ordini creati con Credito negozio e più fatture. In precedenza, il calcolo del totale complessivo non era corretto e l'utente non poteva generare una nota di credito.
- Il prefisso dell'ordine passato nello script di installazione ora viene aggiunto correttamente all'ID dell'ordine.
- La pagina dei dettagli dell’ordine ora viene caricata correttamente se l’ordine contiene un prodotto con un lungo valore di testo personalizzato. In precedenza, la pagina dei dettagli dell'ordine non veniva caricata e il valore nella colonna
sales_order_item.product_options
non veniva memorizzato correttamente se un prodotto conteneva un valore lungo per un'opzione di testo personalizzata.
- Lo stato dell'ordine di vetrina è ora preciso per gli ordini con rimborso parziale. In precedenza, un ordine rimaneva nello stato di elaborazione dopo la spedizione quando veniva applicato un rimborso parziale. GitHub-35528
- Il gruppo di clienti è ora rappresentato con precisione come Non connesso per un ordine creato da un utente ospite. In precedenza, il gruppo di clienti era NULL nei riepiloghi degli ordini degli ospiti, che influenzavano le e-mail di conferma e l’esportazione degli ordini. GitHub-35440
- Lo stato Closed è ora assegnato agli ordini virtuali come previsto dopo l'emissione di una nota di credito e il rimborso al cliente. In precedenza, i prodotti virtuali venivano visualizzati come Complete nel menu a discesa Stato ma come Closed nel piè di pagina dei commenti dell'ordine quando il commento veniva aggiunto dall'amministratore. GitHub-35283
- Gli ospiti possono ora effettuare ordini per prodotti con una quantità inferiore a uno e la quantità di prodotti è ora strettamente digitata come
float
. In precedenza, poiché la quantità di prodotto era strettamente digitata comeint
, gli ordini per una quantità di prodotto inferiore a uno non sono riusciti con questo messaggio:Some of the products are disabled
. GitHub-36060
- I rimborsi di spedizione ora vengono calcolati correttamente quando l'opzione di configurazione Apply discount on prices è impostata su including taxes.
- Le griglie di fatture, spedizioni e note di accredito ora vengono aggiornate in modo asincrono dopo l'archiviazione degli ordini.
- Gli ordini duplicati non derivano più da richieste GraphQL simultanee identiche. Le virgolette sono ora bloccate per un massimo di 10 secondi per impedire la creazione di ordini duplicati e la seconda richiesta non riesce con questi errori:
The cart isn't active
oThe order has already been placed and is currently processing
. Questo valore di blocco può essere configurato tramite ID per il parametrolockWaitTimeout
della classeMagento\Quote\Model\PlaceOrderMutex
. GitHub-36274
- L'aggiunta di un commento a un ordine archiviato non lo restituisce più alla griglia degli ordini non archiviati mantenendo il relativo stato archiviato.
- I valori degli attributi della società vengono ora visualizzati come previsto nelle sezioni degli indirizzi di fatturazione e spedizione del flusso di lavoro di pagamento. In precedenza, gli attributi della società non venivano visualizzati correttamente nella pagina dei dettagli dell’ordine perché i negozi non venivano impostati correttamente durante la creazione dell’ordine. I valori degli attributi sono stati memorizzati correttamente solo quando la proprietà Mostra società è stata impostata su optional per il sito Web principale nelle distribuzioni di più store.
- Il valore
customer_address_id
è ora impostato come previsto per un nuovo indirizzo di fatturazione quando la casella di controllo My billing and shipping address are the same è selezionata. È stata introdotta una condizione aggiuntiva per identificare se l’indirizzo di fatturazione è uguale all’indirizzo di spedizione prima di impostare l’ID dell’indirizzo del cliente per l’indirizzo di spedizione.
- Sono stati risolti i problemi di concorrenza con l’inserimento dell’ordine. In precedenza, se due ordini venivano inoltrati da browser diversi nello stesso momento, o quasi nello stesso momento, a entrambi veniva assegnato lo stesso ID ordine. GitHub-35833
- L’inserimento di un ordine fatturato automaticamente per un prodotto gratuito quando è abilitata l’indicizzazione asincrona ora funziona come previsto. Nessuna voce aggiunta alla tabella
sales_order_grid or sales_invoice_grid
per questi ordini. In precedenza, Adobe Commerce ha generato un'eccezione perché l'applicazione ha tentato di indicizzare le griglie durante il posizionamento dell'ordine invece di affidarsi acron
. GitHub-36334
Page Builder
- È ora possibile utilizzare la funzione di trascinamento della selezione di Page Builder per importare in blocco le immagini nella raccolta.
- Sono stati risolti i problemi relativi alla regola CSS del cursore di Page Builder. GitHub-34527
- Gli attributi
Dropdown
,Text area
eText field
sono ora disponibili nell'elenco degli attributi di prodotto di Page Builder. In precedenza erano disponibili solo gli attributiDropdown
eText area
.
Pagamento
- Il metodo di pagamento COD non viene più visualizzato nel flusso di lavoro di pagamento della vetrina quando il COD è esentato per il paese specificato negli indirizzi di spedizione e fatturazione. In precedenza, le impostazioni di configurazione dell’amministratore per questa funzione non venivano implementate.
- Le informazioni sul pagamento dell'insieme di credenziali non vengono più visualizzate nella sezione Pagamento del flusso di lavoro di creazione degli ordini dell'amministratore se l'acquirente non ha salvato un token. GitHub-33954
- I prezzi personalizzati non vengono più raddoppiati dopo che uno sconto viene applicato dalla regola prezzo carrello. GitHub-35154
- Il nuovo stato ordine in sospeso viene ora rispettato come previsto quando un ordine viene effettuato utilizzando il metodo di pagamento Totale parziale zero.
- Le impostazioni e-mail degli ospiti vengono ora rispettate durante la creazione degli ordini per un acquirente ospite con PayPal Express tramite GraphQL. In precedenza, l'indirizzo e-mail impostato veniva sostituito dall'indirizzo e-mail impostato nel conto PayPal.
Braintree
- Gli ID ordine vengono ora aggiunti alle richieste di liquidazione per le transazioni di pagamento.
- Adobe Commerce non genera più il seguente errore quando un commerciante fa clic su Reports > Braintree Settlement:
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
- La query
customerPaymentTokens
non restituisce più token di Braintree quando l'insieme di credenziali è disattivato in Amministrazione.
- Il pulsante Pay Later e i banner sono stati abilitati per Italia e Spagna.
- Gli utenti amministratori possono ora creare un ordine o riordinarlo quando il metodo di pagamento Braintree è abilitato. In precedenza, Adobe Commerce ha generato questo errore:
report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174
.
- L'estrazione con il metodo di pagamento Braintree ora viene completata quando PayPal Braintree è abilitato e Enable Card Payments è disabilitato. In precedenza, la barra di avanzamento non veniva mai risolta e Adobe Commerce visualizzava questo errore della console:
adapter.js:66 Uncaught TypeError: Cannot read properties of undefined (reading 'clientToken')at Object.getClientToken (adapter.js:66:66)
. GitHub-35961
- Sono stati implementati gli hook web per la protezione dalle frodi, il pagamento tramite ACH e il metodo di pagamento locale. Il webhook di protezione antifrode viene attivato solo se è stata presa una decisione sui rischi in Braintree. Il Web hook ACH viene attivato solo dopo l'aggiornamento di un pagamento ACH a
settled
osettlement decline
.
- I campi di configurazione Tagline e Layout sono stati rimossi da tutti i pulsanti PayPal nella sezione Stile amministratore.
- L'opzione Braintree metodo di pagamento Vault rimane selezionata nel flusso di lavoro di pagamento quando un acquirente aggiorna il proprio indirizzo di fatturazione. In precedenza, il metodo di pagamento veniva deselezionato quando l'acquirente deselezionava il pulsante My billing and shipping address are the same.
- Gli elementi riga vengono ora passati per le transazioni PayPal quando l'impostazione di configurazione Send Line Items è abilitata dall'amministratore.
- La logica di convalida nel campo Metodo di pagamento ACH Account Number ora supporta testo di quattro-17 cifre.
- La query
customerPaymentTokens
non restituisce più token di Braintree quando l'insieme di credenziali è disattivato dall'amministratore.
- Gli utenti amministratori possono ora creare un ordine o riordinare per i clienti quando è abilitato il metodo di pagamento Braintree. In precedenza, Adobe Commerce ha generato questo errore:
report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174
- Gli acquirenti possono ora utilizzare il metodo di pagamento Braintree nei negozi in cui Enable Card Payments è stato disabilitato. In precedenza, Adobe Commerce ha generato questo errore JavaScript:
_adapter.js:66 Uncaught TypeError: Cannot read properties of undefined (reading 'clientToken')at Object.getClientToken (adapter.js:66:66).
Prestazioni
- L’indicizzatore dei prezzi ora elimina i dati obsoleti come previsto dopo la sostituzione dei record durante la reindicizzazione parziale di cataloghi di grandi dimensioni. In precedenza, il processo di reindicizzazione rimuoveva i record obsoleti prima di sostituirli, causando la temporanea scomparsa dei prodotti dalla vetrina. GitHub-35616
- Le prestazioni del comando
bin/magento/setup:upgrade
sono state migliorate. In precedenza, questo comando ricreava i trigger del database, causando un tempo di inattività significativo durante l’esecuzione del comando. Inoltre, gli indicizzatori non sono tornati alla modalità pianificata e sono rimasti in modalità di salvataggio. GitHub-33386
- L’aggiornamento dei prezzi dei livelli tramite API ora viene eseguito più rapidamente. In precedenza, l'aggiornamento dei prezzi dei livelli generava query
SELECT
non necessarie, che ritardavano l'esecuzione quando molti gruppi di clienti venivano assegnati a un prodotto.
- Il caricamento delle pagine che includono l’elenco dei prodotti per widget di catalogo è stato ottimizzato. In precedenza, gli attributi non globali venivano caricati direttamente dal database.
Rapporti
- Il report del registro di amministrazione ora mostra un valore Value before change preciso quando viene aggiornata una regola di categoria.
- Le date del report Totale ordini da e a ora vengono visualizzate correttamente dopo la selezione dalla selezione delle date.
- La costante
ANDROID_PAY_CARD
inBraintree/Ui/Component/Report/Listing/Column/PaymentType.php
ha sostituitoGOOGLE_PAY_CARD
. In questo modo vengono risolti i problemi relativi al rapporto Braintree.
Restituisci autorizzazioni Merchandising (RMA)
- Il campo del commento RMA (Orders > Return) non contiene più spazi vuoti ridondanti. (I tag
<textarea>
e<?php
sono ora su un'unica riga.
- La casella di controllo Use Config Settings per il campo Enable RMA ora salva il relativo valore come previsto quando viene salvato un prodotto.
Recensioni
- Gli utenti amministratori con accesso limitato a un ambito specifico possono ora eliminare le revisioni dei prodotti come previsto.
Ruoli
- È stato aggiunto un ACL mancante per Stores > Configuration > Services > OAuth. In precedenza, non era possibile definire l’accesso a questa impostazione di configurazione OAuth durante la configurazione delle autorizzazioni del ruolo.
Ricerca search-heading
- Le ricerche di stringhe tra virgolette ora funzionano come previsto quando l'impostazione di configurazione Minimum Terms to Match è abilitata. In precedenza, Adobe Commerce ha generato questo errore:
{"error":{"root_cause":[{"type":"parsing_exception","reason":"[match_phrase] query does not support [minimum_should_match]' ...
.
- Il filtro di ricerca Punto di accesso per i record dei clienti nelle griglie dei clienti dell'ordine cliente funziona ora come previsto durante la creazione dell'ordine.
- La qualità dei suggerimenti di ricerca è stata migliorata per le query con più parole.
- I risultati della ricerca ora includono gli output esauriti delle opzioni per tutti i prodotti disponibili quando Display Out Of Stock Products è abilitato GitHub-36055
Spedizione
- Le tariffe di spedizione per FedEx, USPS e UPS vengono calcolate correttamente quando la regola Carrello spedizione gratuita è impostata per corrispondere solo a un sottoinsieme di articoli nel carrello.
- Nella pagina Spedizione per amministratori non viene più visualizzata l'opzione di spedizione gratuita se il totale dell'ordine è inferiore all'importo minimo specificato per l'ordine idoneo per la spedizione gratuita. GitHub-33697
- Adobe Commerce ora rispetta l'impostazione di configurazione del cliente amministratore Show Company durante la visualizzazione dell'indirizzo di spedizione o del cliente. Se questa impostazione è disabilitata, la società di spedizione non viene più inclusa nel record di spedizione, nell'indirizzo del cliente o nel record dell'ordine del database. In precedenza, le informazioni venivano visualizzate nonostante la disattivazione dell’impostazione. GitHub-33729
- È stata rimossa un'operazione di salvataggio superflua sui preventivi durante la stima della spedizione.
- L'ambito
storeId
è ora applicato direttamente da$request->getStoreId()
per garantire che l'ambito non venga perso quando un preventivo viene creato da un utente amministratore. In precedenza, si verificavano occasionalmente problemi con i metodi di spedizione quando veniva creato un preventivo dall’amministratore utilizzando moduli di terze parti.
- Gli URL compatibili con SEO vengono ora generati per i prodotti con l'impostazione
url_key
sovrascritta a livello di visualizzazione store. In precedenza, gli URL dei prodotti delle categorie non venivano reindirizzati a URL compatibili con SEO (Search Engine Optimization).
- Adobe Commerce non genera più un errore relativo all’importo minimo dell’ordine quando viene applicato uno sconto alle spese di spedizione.
- I rimborsi di spedizione ora vengono calcolati correttamente quando l'imposta viene applicata dopo l'applicazione di uno sconto alla spedizione.
- Tutte le promozioni applicabili per un carrello richiesto tramite query GraphQL
cart
vengono restituite insieme. Le promozioni includono sconti per articoli di linea, regole del carrello/sconti, coupon, gift card e credito del negozio. GitHub-35545
- Sono stati aggiunti i tipi
price_excl_tax
eprice_excl_tax
all'output della mutazionesetShippingMethodsOnCart
. GitHub-31206
- Gli ID di spedizione univoci vengono ora passati nelle risposte GraphQL come previsto con i dettagli di spedizione per gli ordini di spedizione a più indirizzi per le query GraphQL.
Staging
- La riprogrammazione della data di fine di un aggiornamento di staging non genera più un errore dopo il completamento dell’aggiornamento. In precedenza, gli amministratori non potevano aprire le pagine dei prodotti e le griglie dei prodotti e Adobe Commerce generava questo errore:
report.CRITICAL: Exception: Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "1" already exists
.
- Il dashboard di gestione temporanea visualizza ora il numero totale corretto di record e la paginazione del dashboard funziona ora come previsto. Precedentemente. il dashboard visualizzava un massimo di 20 record.
- Le anteprime di staging dei contenuti ora vengono caricate più rapidamente nelle implementazioni con molti store. Ora la reindicizzazione dell’anteprima reindicizza solo gli store selezionati.
- Ora è possibile aggiungere i prodotti al carrello in modalità di anteprima pianificazione. L'aggiornamento dei collegamenti delle breadcrumb in modalità anteprima di pianificazione con questi parametri ha risolto il problema:
version
,timestamp
esignature
.
Imposta
- L'impostazione di configurazione Display Zero Tax Subtotal è ora applicata come previsto per gli ordini nelle distribuzioni che offrono più metodi di spedizione. In precedenza, il campo imposta zero era visibile sulla pagina del carrello durante il pagamento prima che fosse selezionato un metodo di spedizione anche quando questa impostazione era disabilitata. GitHub-35561
- Adobe Commerce ora può visualizzare prodotti raggruppati con imposta sulla pagina delle categorie di vetrina nelle distribuzioni che eseguono PHP 8.1. In precedenza, Adobe Commerce non visualizzava un elenco di prodotti e generava questa eccezione:
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
- Gli esercenti non possono più spostare un aggiornamento pianificato in un altro aggiornamento che contiene lo stesso ID regola. In precedenza, gli aggiornamenti della pianificazione per le regole di prezzo del carrello creavano pianificazioni duplicate quando un aggiornamento veniva spostato in un altro aggiornamento che conteneva lo stesso ID regola.
- L'assegnazione automatica del gruppo di clienti ora funziona quando non è associato alcun ID IVA all'indirizzo del cliente. Se l’indirizzo non contiene un ID IVA, viene considerato come appartenente a un cliente non IVA registrato e Adobe Commerce modifica il gruppo di clienti in un gruppo non IVA. In precedenza, quando Enable Automatic Assignment to Customer Group era abilitato, l'account cliente non veniva assegnato automaticamente a
customerGroup
quando l'ID IVA veniva eliminato dall'account cliente.
- Ora vengono visualizzati i blocchi dinamici corretti per le regole del catalogo di staging in modalità anteprima di staging. In precedenza, venivano visualizzati blocchi dinamici non correlati.
- Se durante l'estrazione viene applicata la spedizione multipla, nella sezione Sintetico imposte delle fatture e delle note di accredito vengono ora visualizzate correttamente più imposte.
- Gli sconti non vengono più applicati quando il subtotale di un ordine, imposte incluse, insieme all'importo dell'imposta fissa sul prodotto supera la condizione della regola del carrello nella pagina del carrello. In precedenza, gli sconti venivano applicati anche quando il totale superava la condizione della regola del carrello.
- È ora possibile specificare
vat_id
quando si utilizza GraphQL per aggiungere o aggiornare l'indirizzo di un acquirente guest.
Test
- Sono stati corretti gli errori relativi agli unit test per diverse versioni delle librerie
ICU
elibxml
.
- Ora gli sviluppatori possono dare istruzioni al sistema di eseguire uno staffaggio di dati in una visualizzazione store specifica. Il nuovo parametro facoltativo
scope
accetta unstring
che corrisponde all'alias dello staffaggio dell'archivio.
- Aggiunta la possibilità di generare più istanze di uno staffaggio dati utilizzando il parametro facoltativo
count
.
- Funzione
array_first
non nativa rimossa dalle dipendenze di sviluppo nel framework MFTF.
Traduzioni e lingue
- La traduzione in linea ora funziona correttamente con i caratteri speciali, inclusi i caratteri Unicode estesi nelle frasi situate nei tag SCRIPT. In precedenza, i caratteri giapponesi venivano rappresentati in modo errato nello script modificato quando si utilizzava la traduzione in linea.
- Il carattere
ñ
in un nome di prodotto è ora convertito inn
durante la generazione della chiave URL.
- L'output dell'esecuzione di
bin/magento i18n:collect-phrases
ora include le traduzioni dei modelli di posta elettronica nei costruttidepend
come previsto. GitHub-35449
- I caratteri giapponesi possono ora essere immessi direttamente nel set di attributi della pagina di prodotto (casella combinata). In precedenza, l’immissione diretta di caratteri giapponesi in questa casella combinata causava la modifica o l’eliminazione di caratteri durante l’esecuzione del browser Firefox su MacOS. L'attributo HTML
textInput
, che può gestire meglio la conversione dei caratteri giapponesi in tutti i browser, ha sostituito gli attributiValue
evalueUpdate
.
- Il metodo
getOptions
ora recupera correttamente i valori delle etichette degli attributiprice
in base alla vista archivio. In precedenza, l'attributoprice
veniva tradotto durante le operazioni di GraphQL per una visualizzazione archivio non corretta.
UI
- La valuta specifica per il sito Web viene ora utilizzata come previsto per le colonne Prezzo speciale, Costo e PSRM nella griglia dei prodotti Amministratore. In precedenza, il simbolo di valuta corretto non veniva visualizzato nella griglia dei prodotti del catalogo di amministrazione quando si filtrava in base alla visualizzazione del negozio per un prezzo speciale.
- La funzionalità di trascinamento delle opzioni personalizzate del prodotto ora funziona come previsto. È ora possibile spostare un’opzione personalizzabile da una pagina all’altra quando nella griglia delle opzioni personalizzabile sono disponibili più pagine.
- Nei grafici del dashboard di amministrazione vengono ora visualizzati gli intervalli di tempo da inizio anno dell'anno di calendario corrente alla data corrente, come previsto. In precedenza, gli intervalli di date includevano più di 12 mesi.
- Nella home page della vetrina è stata aggiunta una favicon predefinita mancante. GitHub-35493
- L’amministratore ora visualizza correttamente la data di accesso più recente di ogni utente amministratore. In precedenza, quando un utente amministratore effettuava il primo accesso all’amministratore, nella griglia degli utenti amministratore veniva visualizzato un valore di data di accesso vuoto.
- La funzionalità di anteprima del modello di e-mail (Marketing > Communications > Email Templates) ora visualizza correttamente i modelli. In precedenza, l’immagine di anteprima veniva troncata. GitHub-35697
- Aggiunta della classe
new-shipping-address-modal
per supportare lo stile del nuovo indirizzo di spedizione modale.
- Aggiunto testo informativo sotto il campo di input
Storefront Properties
dell'attributoSearch Weight
nell'amministratore Stores > Attributes > Product.
- Le anteprime e-mail ora si aprono in una scheda separata invece di una finestra a comparsa, che fornisce una visualizzazione più ampia del contenuto dell’e-mail. In precedenza, il contenuto delle e-mail veniva troncato.
- La funzione filtro per la griglia del ruolo utente (Admin System > Permissions > User roles > Administrators) ora funziona come previsto. Il valore dell’array viene ora gestito separatamente. In precedenza, quando si tentava di immettere una query in questa griglia, Adobe Commerce generava questo errore della console e la pagina non veniva caricata:
Uncaught TypeError: Cannot read properties of null
. GitHub-35993
- È stata aggiunta la convalida dei valori degli attributi durante la creazione di un cliente tramite l’API REST. Il processo di creazione ora ha esito negativo quando vengono forniti valori di attributi non validi. In precedenza, non vi era alcuna convalida per il genere, che non è un campo obbligatorio. Durante la creazione del cliente, il valore passato per il genere è stato salvato nella tabella
customer_entity
.
- Gli indirizzi aggiunti durante l’estrazione ora mantengono il formato previsto. In precedenza, le righe vuote venivano ignorate.
- La modifica della vista griglia delle colonne della griglia del prodotto e la selezione di nuove colonne per una vista personalizzata non attivano più l’azione Seleziona tutte le colonne della griglia. In precedenza, la casella della colonna scompariva e i prodotti nella griglia venivano selezionati o deselezionati. GitHub-36302
- Gli utenti amministratori possono ora cancellare il registro delle attività completate dall’amministratore. In precedenza, l'amministratore visualizzava questo errore:
Something went wrong
. GitHub-36255
- L'impostazione dell'intestazione del tema
Welcome Text
può ora contenere virgolette singole. In precedenza, Adobe Commerce ha generato questo errore JavaScript:Uncaught SyntaxError: Unable to process binding "ifnot: function(){return customer().fullname }"
.
Riscritture URL
- La modifica della visibilità del prodotto in Not Visible Individually nell'ambito globale Tutte le visualizzazioni dello store ora rimuove solo le riscritture URL per le visualizzazioni dello store che non hanno sostituito l'attributo di visibilità. Se si modifica in questo modo la visibilità del prodotto, vengono generate anche le riscritture URL per tutte le visualizzazioni dello store, incluse quelle che hanno sostituito l’attributo chiave URL (ma non l’impostazione di visibilità). In precedenza, le regole di riscrittura URL non venivano applicate quando venivano modificate le impostazioni di visibilità.
Visual Merchandiser
- Non puoi più modificare manualmente le posizioni dei prodotti negli elenchi di categorie di Visual Merchandiser quando i prodotti corrispondono a una regola.
- Gli utenti amministratori con accesso limitato a un solo archivio non possono più trascinare e rilasciare prodotti all’interno di una categoria in Visual Merchandiser. È ora possibile utilizzare la colonna Position per riorganizzare la posizione del prodotto. In precedenza, questi utenti potevano cambiare la posizione del prodotto all’interno di una categoria solo tramite trascinamento.
- La sezione Prodotti nella categoria della pagina di modifica della categoria visualizza ora la quantità corretta di prodotti configurabili. La colonna corretta della tabella viene ora utilizzata per recuperare la quantità di prodotti configurabili.
Framework API web
- L'API REST
DELETE /rest/V1/products/:sku/media/:entryId
ora restituisce un messaggio di errore se l'immagine non viene rimossa dal prodotto perché assegnata a un ruolo in altre visualizzazioni dello store. In precedenza, l’API restituiva una risposta corretta anche quando l’immagine non veniva rimossa correttamente.
- Gli esercenti possono ora utilizzare l’API REST per creare una nota di credito per un ordine con totale complessivo pari a zero. In precedenza, Adobe Commerce visualizzava questo errore:
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
.
- La pagina di modifica del prodotto Amministratore ora riflette accuratamente le assegnazioni di un prodotto dopo che l’assegnazione del sito web del prodotto è stata modificata utilizzando l’API REST. GitHub-36281
- Non è più possibile includere ID di opzione duplicati per gli attributi a selezione multipla durante richieste REST API in massa per l’aggiornamento dei prodotti. In precedenza, era possibile impostare ID opzione duplicati per gli attributi a selezione multipla quando si inviava una richiesta API in blocco per aggiornare un prodotto. Quando l'attributo di selezione multipla è stato configurato per l'inclusione nella navigazione a livelli, l'indicizzazione EAV non è riuscita con un errore
Duplicate entry
.
- I nomi dei prodotti nei carrelli acquisti ora utilizzano i valori della vista negozio specificata come previsto. In precedenza, i nomi dei prodotti nel carrello restituivano sempre il valore predefinito per la visualizzazione archivio nelle risposte al carrello REST API.
- Ora è possibile aggiornare i valori delle opzioni personalizzate dell’elemento del carrello utilizzando l’API REST. GitHub-35768
- Le richieste API in blocco per più di 20
sourceItems
ora vengono completate correttamente nelle distribuzioni in cui Inventory è abilitato.
- Il servizio valuta Fixer ora funziona come previsto con le chiavi generate tramite ApiLayer e i tassi di valuta vengono esportati correttamente. In precedenza, Adobe Commerce generava un errore quando un commerciante tentava di importare i tassi di valuta tramite l’amministratore.
- È ora possibile utilizzare la richiesta REST API
/rest/V1/bulk?searchCriteria[filter_groups]
per eseguire query sulle operazioni in blocco in base ai criteri di ricerca. In precedenza, veniva restituito il seguente errore:report.CRITICAL: Report ID: webapi-624bbb1db96c4; Message: Item (Magento\AsynchronousOperations\Model\Operation) with the same ID "0" already exists.
- I prezzi dei prodotti ora vengono aggiornati correttamente sia nelle pagine di ricerca del catalogo dell’amministratore che in quelle della vetrina tramite l’API Gestisci prezzo base. GitHub-33767
Lista dei desideri
- Dopo l’accesso, gli acquirenti possono ora aggiungere prodotti alla loro lista dei desideri. In precedenza, a causa di problemi con la convalida della chiave del modulo dopo l’accesso, la chiave del modulo inviata con la richiesta di aggiunta alla lista dei desideri veniva invalidata.
- I prodotti vengono ora aggiunti come previsto alla lista dei desideri dalla lista dei prodotti e vengono visualizzate le pagine dopo che un cliente ospite conferma il proprio account da un’e-mail di conferma. In precedenza, i prodotti non venivano aggiunti alla lista dei desideri dopo la conferma dell’account.
- La query
addProductsToWishlist
ora restituisce un messaggio di errore informativo quando un acquirente tenta di aggiungere un elemento a una lista dei desideri con un valore non valido per l'opzione personalizzataselect
del prodotto. In precedenza, mancava la convalida del server per il valore dell’opzione personalizzata dell’elenco a discesa, che causava un valore non valido nel database. L'endpoint ha restituito l'errore interno del server:GraphQL endpoint returns Internal server error with "Call
.
Problema noto
Problema: dopo un aggiornamento ad Adobe Commerce 2.4.6 o versioni successive da versioni di prodotto precedenti alla 2.4.5, le etichette delle regole di vendita in staging potrebbero non corrispondere. Soluzione alternativa: applicare ACSD-50625_2.4.5-P1.patch durante l'aggiornamento prima del passaggio Aggiorna metadati. Consulta problemi relativi alle etichette salesRules durante l'aggiornamento dall'articolo della Knowledge Base versioni < 2.4.5.
Passaggi generali per la risoluzione del problema:
- Scarica la patch richiesta. Consulta i problemi relativi alle etichette salesRules durante l’aggiornamento dall’articolo della Knowledge Base versioni < 2.4.5.
- Segui i passaggi di aggiornamento descritti nella fase Gestisci pacchetti del processo di aggiornamento Esegui un aggiornamento.
- Applicare questa patch durante l'aggiornamento dopo la fase Gestisci pacchetti e prima della fase Aggiorna metadati.Vedere Come applicare una patch del compositore fornita da Adobe .
- Completa il processo di aggiornamento.
Problema: non è possibile creare una nota di accredito se la spedizione gratuita è abilitata (Stores > Configuration > Sales > Delivery Methods) e il prezzo di spedizione visualizzato include le imposte. Quando si tenta di creare una nota di credito, Adobe Commerce genera l'eccezione: "Division by zero".vendor/magento/module-sales/Model/Order/Creditmemo/Total/Tax.phpLine 139
. GitHub-36800
Soluzione: è ora disponibile un hotfix per questo problema. Vai a Strumento Patch di qualità: cerca le patch e cerca la patch ACSD-50814.
Contributi dei partner
Nella tabella seguente vengono evidenziati i contributi dei partner. Questa tabella elenca il Partner che ha contribuito alla richiesta di pull, il numero della richiesta di pull esterna e il numero del problema GitHub associato (se disponibile).
Contributi dei singoli collaboratori
La tabella seguente identifica i contributi dei membri della community. Questa tabella elenca il membro della community che ha contribuito alla richiesta di pull, il numero della richiesta di pull esterna e il numero del problema GitHub associato (se disponibile).
Requisiti di sistema
Il nostro stack tecnologico è basato su PHP e MySQL. Per ulteriori informazioni, vedere Requisiti di sistema.
Istruzioni di installazione e aggiornamento
È possibile installare Adobe Commerce 2.4.6 utilizzando Composer.