Note sulla versione di Adobe Commerce 2.4.2
Adobe Commerce 2.4.2 introduce miglioramenti a livello di prestazioni e sicurezza oltre a significativi miglioramenti della piattaforma. I miglioramenti della sicurezza includono l'espansione del supporto per l'attributo SameSite
per tutti i cookie. I miglioramenti B2B si concentrano sul supporto per i pagamenti online per gli ordini di acquisto. Sono ora supportati Elasticsearch 7.9.x e Redis 6.x.
Questa versione include oltre 280 nuove correzioni al codice di base e 35 miglioramenti di sicurezza. Include la risoluzione di quasi 290 problemi GitHub da parte dei membri della community. Questi contributi della community spaziano dalla pulizia minore del codice di base ai miglioramenti significativi in GraphQL.
Tutti i problemi noti identificati nella versione 2.4.1 sono stati risolti in questa versione.
Applica AC-3022.patch
per continuare a offrire DHL come vettore di spedizione
DHL ha introdotto lo schema versione 6.2 e dichiarerà obsoleto lo schema versione 6.0 nel prossimo futuro. Adobe Commerce 2.4.4 e versioni precedenti che supportano l’integrazione DHL supportano solo la versione 6.0. I commercianti che distribuiscono queste versioni devono applicare AC-3022.patch
al più presto per continuare a offrire DHL come vettore di spedizione. Per informazioni sul download e l'installazione della patch, vedere l'articolo della Knowledge Base Applica una patch per continuare a offrire DHL come corriere.
Patch di sicurezza disponibile
Gli esercenti possono ora installare correzioni di sicurezza urgenti senza applicare le centinaia di correzioni funzionali e miglioramenti forniti da una versione trimestrale completa (ad esempio, 2.4.1-p1). La patch 2.4.0.12 (pacchetto Composer 2.4.1-p1) è una patch di sicurezza che fornisce correzioni per le vulnerabilità identificate nella precedente versione trimestrale, 2.4.1. Tutte le correzioni rapide applicate alla versione 2.4.1 di sono incluse in questa patch di sicurezza. (Un hotfix fornisce una correzione a una versione rilasciata che risolve un problema o un bug specifico.)
Per informazioni generali sulle patch di sicurezza, vedere Introduzione alla nuova versione della patch di sicurezza. Per istruzioni su come scaricare e applicare le patch di sicurezza (inclusa la patch 2.4.1-p1), vedere Installazione rapida locale. Le patch di sicurezza includono solo correzioni di bug di sicurezza, non i miglioramenti di sicurezza aggiuntivi inclusi nella patch completa.
Altre informazioni sulla versione
Anche se il codice per queste funzioni è incluso con versioni trimestrali, 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.
In evidenza
In questa versione, cerca le seguenti aree di rilievo.
Miglioramenti sostanziali della sicurezza
Questa versione include oltre 35 correzioni di sicurezza e miglioramenti di sicurezza della piattaforma. Tutte le correzioni di sicurezza sono state salvate in 2.4.1-p1 e 2.3.6-p1.
Oltre 35 miglioramenti di sicurezza che aiutano a chiudere le vulnerabilità RCE (Remote Code Execution) e XSS (Cross-Site Script)
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 l’amministratore, tra cui, ma non solo, queste iniziative: inserire nell'elenco Consentiti dell’IP a due fattori, autenticazione a due fattori, utilizzo di una VPN, utilizzo di una posizione univoca invece di /admin
e buona igiene della password. Consulta Bollettino sulla sicurezza di Adobe per una discussione su questi problemi risolti.
Ulteriori miglioramenti della sicurezza
I miglioramenti di sicurezza per questa versione includono:
-
Tutti i cookie core ora supportano l'attributo
SameSite
. -
L’applicazione ora visualizza messaggi che identificano contenuti potenzialmente dannosi nei campi di descrizione del prodotto e della categoria quando l’utente tenta di salvare i valori in questi campi.
-
Le operazioni sui file system tra i Componenti sono state standardizzate e rese più efficienti per evitare caricamenti dannosi.
-
Sono state corrette le violazioni dei criteri sulla sicurezza dei contenuti core (CSP).
Miglioramenti dell'infrastruttura
Questa versione contiene miglioramenti alla qualità di base, che migliorano la qualità del framework e delle seguenti aree funzionali: Account cliente, Catalogo, CMS, OMS, Importazione/Esportazione, Promozioni e targeting, Carrello e pagamento, B2B e Staging e anteprima.
Miglioramenti alla piattaforma
-
Elasticsearch 7.9.x è ora supportato. Sebbene sia consigliabile eseguire Elasticsearch 7.9.x, la versione 2.4.x rimane compatibile con Elasticsearch 7.4.x.
-
2.4.2 è stato testato con Vernice 6.4. La versione 2.4.x rimane compatibile con Vernice 6.x.
-
Redis 6.x è ora supportato. La versione 2.4.x rimane compatibile con Redis 5.x.
-
2.4.2 è ora compatibile con Compositore 2.x. Consigliamo ai commercianti di migrare a Composer 2.x. Anche se è possibile installare questa versione utilizzando Composer 1.x, Composer 1.x raggiungerà presto la fine del ciclo di vita. Per una panoramica delle funzioni di Composer 2.x, vedere Composer 2.0 è ora disponibile!
In questa versione la possibilità di configurare un'installazione per l'utilizzo di un database diviso è stata dichiarata obsoleta. I commercianti che attualmente utilizzano database suddivisi dovrebbero iniziare a pianificare il ripristino o la migrazione a un singolo database o utilizzare un approccio alternativo. Per una panoramica del problema, consulta il post Deprecazione della funzionalità di suddivisione del database in Adobe Commerce DevBlog. Per istruzioni sulla migrazione, vedere Ripristino da un database diviso a un singolo database.
Miglioramenti delle prestazioni
Questa versione include miglioramenti al codice che migliorano le prestazioni dell’API e il tempo di risposta dell’amministratore per le distribuzioni con cataloghi di grandi dimensioni. Diversi miglioramenti alla scalabilità consentono alla versione 2.4.2 di supportare in modalità nativa cataloghi complessi fino a 20 volte più grandi rispetto alle versioni precedenti.
GraphQL
Questa versione aggiunge la copertura GraphQL per le seguenti funzioni:
-
È stato aggiunto il supporto per più elenchi di desideri. È possibile utilizzare GraphQL per creare, eliminare e rinominare elenchi dei desideri, nonché spostare o copiare elementi tra di essi.
-
È stato aggiunto il supporto per le autorizzazioni per merci restituite (RMA). Gli acquirenti possono richiedere un reso. Se il commerciante accetta la richiesta, l'acquirente può eseguire attività come l'aggiunta di un commento e aggiungere informazioni di tracciamento.
-
È stato aggiunto il supporto per le seguenti funzionalità B2B:
- Aziende. Puoi aggiungere amministratori, utenti, ruoli e team della società.
- Credito della società. La query società include dettagli sulla cronologia dei crediti della società.
- Elenchi di richieste di acquisto. È possibile creare, eliminare e aggiornare gli elenchi delle richieste di acquisto. Il supporto include anche la possibilità di aggiungere, aggiornare, eliminare, copiare e spostare elementi all'interno di un elenco di richieste di acquisto e di aggiungere elementi dell'elenco di richieste di acquisto nel carrello.
-
È stato aggiunto il supporto per i sindacati in GraphQL. GitHub-29425
-
È stato aggiunto il supporto per elenchi di confronto. Gli acquirenti possono creare e eliminare elenchi di confronto e aggiungere e rimuovere elementi negli elenchi di confronto. Inoltre, gli acquirenti che creano un elenco di confronto come ospiti possono accedere come clienti e mantenere i propri elenchi di confronto.
-
È stata aggiunta la mutazione
generateCustomerTokenAsAdmin
e l'oggettoCustomer
è stato aggiornato per supportare l'assistenza per l'acquisto remoto. -
È stato aggiunto il supporto per la localizzazione tra negozi per supportare attività quali il cambiamento di lingua, carrello e valute.
-
Lo schema GraphQL è stato migliorato per ottimizzare il recupero dei dati dei prodotti per i prodotti configurabili con molte varianti.
-
Gli ID degli oggetti di tipo intero sono stati dichiarati obsoleti a favore di
uid
attributi di tipo ID. -
È stato aggiunto l'attributo
staging
aProductInterface
eCategoryInterface
per determinare se un prodotto è posizionato nell'area intermedia e per visualizzare le informazioni sulla campagna associate.
Per informazioni dettagliate su questi miglioramenti, consulta la Guida per gli sviluppatori di GraphQL.
B2B
2.4.2 introduce B2B v1.3.1. Questa versione include il supporto per i pagamenti online per gli ordini di acquisto e diverse correzioni di bug.
È ora possibile completare gli ordini di acquisto utilizzando i metodi di pagamento online. Agli acquirenti B2B viene richiesto di selezionare il metodo di pagamento preferito per ogni ordine di acquisto durante il pagamento iniziale. Dopo l'approvazione dell'ordine di acquisto, agli acquirenti viene richiesto di inserire i dettagli del pagamento per convertire l'ordine di acquisto in un ordine finale.
Per supportare un flusso di lavoro completo per l'accettazione di pagamenti online, questa funzione consente anche di:
-
Sostituisce i modelli di metodo di pagamento esistenti durante l'estrazione iniziale per mantenere la conformità PCI.
-
Mantiene la compatibilità con i metodi di pagamento di terze parti, personalizzati e sviluppati dalla community.
-
Notifica agli acquirenti via e-mail quando devono aggiungere i dettagli di pagamento a un ordine di acquisto approvato.
-
Consente di personalizzare le e-mail dall’amministratore, consentendo agli esercenti di utilizzare modelli coerenti con il proprio branding.
-
Introduce uno stato
Approved – Pending Payment
per gli ordini fornitore per mostrare chiaramente quando è necessaria un'azione. -
Impedisce l'aggiunta o la rimozione dei codici di sconto nella fase di pagamento finale, in modo da garantire che l'importo totale dell'ordine rimanga invariato per gli ordini di acquisto approvati.
-
Consente agli acquirenti di modificare il metodo di pagamento durante la fase di pagamento finale per mantenere la flessibilità e aumentare la conversione.
Questa versione include anche più correzioni di bug. Consulta Note sulla versione B2B.
PWA Studio
Questa versione di PWA Studio include:
-
Internazionalizzazione e localizzazione. Venia ora fornisce supporto per più lingue e valute.
-
È stato migliorato il framework di estensibilità per supportare le modifiche al codice tramite le estensioni.
-
Componenti iniziali per le funzioni relative al conto personale, ad esempio Elenco desideri, Pagamenti salvati, Rubrica e Cronologia ordini.
-
Varie ottimizzazioni delle prestazioni e correzioni di bug.
Per informazioni sui miglioramenti e sulle correzioni di bug, vedi Versioni di PWA Studio. Consulta compatibilità per un elenco delle versioni di PWA Studio e delle relative versioni compatibili.
Page Builder
Questa versione include miglioramenti alla migrazione dei contenuti di Page Builder e alla personalizzazione CSS di Page Builder:
-
Ora gli sviluppatori possono assegnare all'output dei tipi di contenuto uno stile diverso per ciascun riquadro di visualizzazione senza utilizzare la direttiva
!important
. -
Il contenuto migrato a Page Builder non viene più aggiunto con lo stile in linea predefinito.
-
Page Builder non richiede più che tutti i tipi di contenuto siano posizionati all'interno di una riga. La fase di Page Builder è inizialmente vuota e supporta l'aggiunta diretta dei seguenti tipi di contenuto all'area di visualizzazione: Righe, Colonne, Schede, Codice HTML, Blocchi, Blocchi dinamici.
-
Per i tipi di contenuto non sono più necessari margini e pagine affiancate predefiniti.
-
Il nuovo commutatore riquadro di visualizzazione per dispositivi mobili e l'ambito del riquadro di visualizzazione per i valori dei campi modulo consente agli utenti e agli sviluppatori di eseguire le azioni seguenti:
-
Visualizzare il contenuto su diverse porte di visualizzazione durante la creazione.
-
Ottimizza il parametro del campo di altezza minima per diversi tipi di contenuto per ciascun riquadro di visualizzazione. (È supportato un solo parametro (altezza min) pronto all’uso. Sviluppo personalizzato necessario per abilitare l'ottimizzazione mobile per altri parametri di contenuto.)
-
Aggiungere l’ambito del campo ai campi personalizzati e ai set di campi (sviluppatori).
-
Guida interattiva interna al prodotto
La guida interattiva interna al prodotto fornisce ai commercianti suggerimenti di utilizzo e informazioni dall’amministratore su annunci di nuove funzioni, guide dettagliate, informazioni di onboarding e descrizioni degli strumenti. Se questa funzionalità non è abilitata, gli amministratori devono fornire il consenso dell'amministratore per ricevere indicazioni interne al prodotto. Consulta Raccolta dati di utilizzo e Utilizzo amministratore.
Integrazione di Adobe Stock
Questa versione include l’integrazione di Adobe Stock v2.1.1.
Raccolta file multimediali
Risorse per il nuovo ruolo per Raccolta file multimediali. Questa versione consente ai commercianti di limitare l’accesso degli amministratori solo alla raccolta multimediale e di controllare chi può eseguire queste azioni:
-
Inserire risorse multimediali nel contenuto
-
Caricare le risorse
-
Modificare i dettagli delle risorse
-
Eliminare risorse da Media Gallery
-
Gestisci la struttura delle cartelle.
Immagini ottimizzate per il web nel contenuto. I commercianti possono ora utilizzare la rappresentazione di immagini ottimizzate per il web nel contenuto anziché immagini ad alta risoluzione. L’immagine originale rimane invariata in Media Gallery e il rendering dell’immagine viene generato in modo dinamico quando l’immagine viene inserita nel contenuto.
Miglioramenti al supporto di AWS S3
Il supporto di Amazon Simple Storage Service (AWS S3) è stato migliorato per includere il supporto per:
-
Archiviazione degli oggetti ed estensibilità futura
-
Archiviazione di file multimediali in AWS S3
Il supporto per AWS S3 è stato aggiunto a tutti i moduli, tra cui l’integrazione B2B, PageBuilder e Adobe Stock.
Framework di test funzionali (MFTF)
È ora disponibile MFTF 3.2.1. Questa versione introduce una tolleranza di errore sia nella generazione di test che nella generazione di suite di test. Ulteriori miglioramenti e correzioni di bug sono descritti nel Registro dei test funzionali.
Sistema Order Management (OMS)
Il connettore MCOM è completamente compatibile con la versione 2.4.2. Le correzioni di bug e i miglioramenti al connettore sono descritti in Note sulla versione del connettore. Questa versione include miglioramenti all'interfaccia della riga di comando OMS, che ora fornisce informazioni dettagliate che i partner e i team di supporto possono utilizzare per la risoluzione dei problemi dei processi retry
, queue_prune
, order_sync
, message process
e catalog export
.
Estensioni sviluppate dal fornitore
Per aggiornamenti sulle funzioni e sulle modifiche di questa versione, consulta i seguenti articoli:
-
Amazon Pay. Amazon Pay è stato dichiarato obsoleto in questa versione e verrà rimosso nel Magento 2.5.0. La versione 2.4.3 e successive conterranno solo aggiornamenti per la compatibilità e correzioni per i bug principali.
Problemi risolti
Sono stati risolti centinaia di problemi nel codice core 2.4.2.
Installazione, aggiornamento, distribuzione
- In questa versione la possibilità di configurare un'installazione per l'utilizzo di un database diviso è stata dichiarata obsoleta. Vedi il post Deprecazione della funzionalità di database diviso in Adobe Commerce DevBlog.
- I commercianti possono ora aggiornare correttamente una distribuzione Open Source che esegue MySQL 8.x a una distribuzione Commerce. In precedenza, l'applicazione generava un'eccezione quando i valori
AUTO_INCREMENT
venivano ripristinati ai valori iniziali per tutte le tabelle in cuirow_id
veniva aggiunto durante l'aggiornamento.
- L'applicazione visualizza ora un messaggio di errore che identifica il percorso utilizzato per creare la patch se si verifica un errore durante l'esecuzione di
bin/magento/setup:db:generate-patch
. GitHub-27523
- Le cache di
block_html
,full_page
elayout
sono disabilitate come previsto dopo l'esecuzione dibin/magento/setup:upgrade
. GitHub-28186
- È stata aggiornata la versione PHP minima richiesta in
bootstrap.php
. GitHub-30004
- È ora possibile eseguire
bin/magento/setup:upgrade
dopo l'installazione dei dati di esempio. In precedenza, quando si tentava di eseguirebin/magento/setup:upgrade
, l'applicazione visualizzava questo errore:unable to apply data patch magento\catalogrulesampledata\setup\patch\data\installcatalogrulesampledata for module magento_catalogrulesampledata
. L'applicazione ha inoltre visualizzato questo errore nel registro di sistema:main.ERROR: Sample Data error: Unable to unserialize value. Error: Syntax error
. GitHub-30685
- Ora puoi impostare una chiave API YouTube dalla riga di comando come previsto. In precedenza, l'applicazione restituiva questo errore quando si tentava di eseguire
bin/magento config:sensitive:set catalog/product_video/youtube_api_key
:There are no sensitive configurations to fill
.
- L'applicazione ora rispetta i valori
maxMessages
definiti inqueue_consumer.xml
. In precedenza, l’applicazione utilizzava solo i valori di configurazione della distribuzione. GitHub-29522
- La generazione dell'URL per un nuovo archivio ora funziona come previsto quando l'archivio viene creato utilizzando
bin/magento setup:config:import
. In precedenza, le riscritture URL non venivano generate negli ambienti di produzione. GitHub-30025
- Questa domanda non viene più visualizzata quando si esegue
bin/magento setup:install
per connettersi al database esistente:Overwrite the existing configuration for db-ssl-verify?[Y/n]
. GitHub-29612
AdminGWS
- Il pulsante Aggiungi nuova valutazione e i pulsanti Salva, Elimina, Reimposta non sono più disponibili nella pagina Archivi > Attributo > Valutazione per un amministratore con autorizzazioni limitate.
- L’amministratore ora visualizza i dati solo dai siti web per i quali l’amministratore connesso dispone di autorizzazioni. In precedenza, l’amministratore visualizzava i dati da tutti i siti web della distribuzione.
- Tutti i siti Web selezionati sono ora archiviati in
gws_websites
indipendentemente dalle dimensioni dell'ID del sito Web. In precedenza, gli ID sito Web venivano troncati e l'elenco dei siti Web selezionati non veniva memorizzato nel database. I ruoli utente non sono stati salvati correttamente e l'applicazione ha visualizzato questo errore quando un commerciante ha tentato di modificare e salvare un ruolo:The "X" store ID is incorrect. Verify the store ID and try again
.
- L’applicazione ora visualizza il conteggio corretto degli elementi nelle griglie di amministrazione per gli utenti amministratori con restrizioni. In precedenza, i conteggi visualizzati per queste griglie rispecchiavano i dati di tutti i paesi, mentre le griglie stesse mostravano i dati solo di paesi specifici. Questa correzione corregge un problema relativo a Segmenti clienti, Regole prezzo catalogo, Regole prezzo carrello, Tutti gli utenti, Utenti bloccati e Griglie ruoli utente.
- Gli amministratori le cui autorizzazioni escludono
Magento_Catalog::edit_product_design
(Modifica progettazione prodotto) ora possono creare un nuovo prodotto salvando un prodotto esistente con un nuovo nome nella visualizzazione store selezionata. In precedenza, l'applicazione visualizzava questo errore:Not allowed to edit the product's design attributes
. GitHub-28106
- L'applicazione non visualizza più il pulsante Aggiungi attributo nelle pagine di Archivi > Attributi quando un amministratore non dispone delle autorizzazioni appropriate per creare queste entità. In precedenza, l'applicazione generava un errore 404 quando un amministratore del sito Web che non disponeva delle autorizzazioni appropriate tentava di creare un attributo Set di attributi o Cliente.
- L'applicazione non genera più un errore quando si tenta di modificare
backend-frontname
utilizzando il contenitoressh
dopo aver installato Adobe Commerce. GitHub-26762
Integrazione di Adobe Stock
- Aggiunta del supporto per la lettura dei metadati
exif_image.png
oexif-image.jpeg
. GitHub-1449
- Il contenuto visualizzato quando si fa clic sul segnalibro Visualizzazione predefinita per Raccolta file multimediali non viene più filtrato. In precedenza, la visualizzazione predefinita conteneva un filtro applicato dall'applicazione
url-filter
. GitHub-1813, GitHub-1789, GitHub-1780
- La logica è stata rimossa dal controller WYSIWYG OnInsert (
Magento\Cms\Controller\Adminhtml\Wysiwyg\Images\OnInsert::execute()
) e aggiunta al modelloModel\Wysiwyg\Images\PrepareImage::execute()
. GitHub-1504
- L'emulazione di area è stata rimossa dal comando
media-content:sync
(\Magento\MediaContentSynchronization\Console\Command\Synchronize::execute
). GitHub-1784
Analytics
- Il reporting avanzato ora funziona come previsto per più ambienti nello stesso dominio. In precedenza, i file CSV generati da Advanced Reporting non riuscivano perché le virgolette doppie venivano precedute da una barra rovesciata anziché da un’altra come richiesto dallo standard CSV RFC4180.
- Il processo
analytics_collect_data
viene ora eseguito correttamente quando si utilizza la porta predefinita o non predefinita per la connessione a MySQL inenv.php
. In precedenza,analytics_collect_data
ha restituito un errore quando si utilizzava la porta non predefinita.
- I file CSV generati da
analytics_collect_data
sono ora preceduti correttamente dall'escape. In precedenza, questi file non venivano generati con l’escape corretto, impedendo la generazione di rapporti di inventario.
Braintree
-
Gli acquirenti possono ora utilizzare Apple Pay per effettuare un ordine per prodotti virtuali. In precedenza, l'applicazione ha generato questo errore:
There are no shipping methods available for you right now. Please try again or use an alternative payment method
. -
Il metodo di pagamento PayPal Express Checkout predefinito ora funziona come previsto con il metodo di pagamento Braintree con carta di credito. In precedenza, nell'applicazione non veniva visualizzato il pulsante PayPal quando era abilitato il metodo di pagamento Braintree carta di credito.
Prodotti bundle
- L'applicazione non imposta più i prezzi per gli articoli figlio del prodotto del bundle a prezzo fisso nei preventivi.
- L’ordinamento del prezzo ora funziona come previsto quando i prodotti bundle includono prodotti esauriti. In precedenza, l’ordinamento del prezzo in ordine decrescente non consentiva di visualizzare i prodotti in ordine decrescente di prezzo.
- L’applicazione ora applica automaticamente una quantità predefinita di 1 per le opzioni di prodotto del bundle quando sono presenti più opzioni. In precedenza, i commercianti dovevano assegnare manualmente una quantità predefinita a ciascuna opzione.
- Nella pagina di creazione della fattura dell'ordine ora vengono visualizzati i prodotti secondari per i prodotti del bundle come previsto. GitHub-27350
- L’applicazione ora assegna prezzi di prodotto corretti quando si riordinano prodotti semplici che fanno parte di un pacchetto di prodotti con un prezzo personalizzato. In precedenza, l’impostazione di un prezzo personalizzato su un prodotto bundle generava prezzi errati sui prodotti semplici allegati al momento del riordino. GitHub-30343
- Chiamando il POST
/V1/order/{orderId}/ship
per spedire un ordine che contiene un prodotto bundle, l'ordine viene ora contrassegnato come completato come previsto. In precedenza, l'applicazione visualizzava questo messaggio di errore:You can't create a shipment without products
. GitHub-9762
Carrello e pagamento
- Il calcolatore del metodo di spedizione ora funziona come previsto quando sono presenti attributi di indirizzo personalizzati nella fase di spedizione del flusso di lavoro di pagamento. In precedenza, l'applicazione visualizzava questo messaggio di errore:
{"message":"Error occurred during \"custom_attributes\" processing. A custom attribute is specified with a missing attribute code. Verify the code and try again."}
GitHub-27505
- L'applicazione ora visualizza il messaggio
You have no items in your shopping cart
nel mini carrello come previsto quando un acquirente rimuove l'unico elemento del carrello. In precedenza, i dati del carrello non venivano aggiornati percheckout/cart/removeFailed
quando un acquirente rimuoveva il singolo elemento e l'applicazione visualizzava questo messaggio:1 product requires your attention
.
- L'applicazione non visualizza più il costo di spedizione per un ordine per un metodo di spedizione non applicabile. In precedenza, nell’applicazione veniva visualizzato il prezzo 0 per un metodo di spedizione non applicabile nel flusso di lavoro di pagamento.
- L'indirizzo di fatturazione predefinito di un cliente è ora selezionato quando la casella di controllo Il mio indirizzo di fatturazione e spedizione è uguale nel flusso di lavoro di pagamento non è selezionata.
- Gli amministratori possono aggiungere un prodotto al carrello in base allo SKU direttamente dall’amministratore senza essere reindirizzati dall’amministratore. L’amministratore non viene più reindirizzato a una pagina della vetrina e l’applicazione visualizza il prodotto come previsto nella sezione Articoli del carrello dell’amministratore.
- L’applicazione ora visualizza messaggi di errore informativi quando carichi un file CSV che contiene più tipi di errori durante l’aggiunta di prodotti al carrello in base allo SKU. In precedenza, l'applicazione visualizzava una pagina vuota e un messaggio di errore generico quando si faceva clic su Scegli file in Gestisci carrello > Aggiungi al carrello per SKU.
- Il contenuto del carrello non si perde più quando un acquirente passa da un negozio all’altro in un dominio diverso.
- Gli acquirenti possono ora completare un ordine utilizzando Check-Out con più indirizzi quando si utilizzano più metodi di spedizione. In precedenza, l'applicazione visualizzava questo errore:
There has been an error processing your request
. GitHub-30197
- L’applicazione ora visualizza il paese predefinito corretto sulla pagina di spedizione del flusso di lavoro di pagamento quando l’acquirente cambia la vista del negozio dal carrello.
- L'applicazione ora esclude la sessione corrente durante la pulizia delle sessioni del cliente dopo la reimpostazione della password di post-logout al momento dell'accesso di un acquirente guest. In precedenza, l’applicazione svuotava il carrello quando l’acquirente reimpostava la propria password.
- L’applicazione ora visualizza il paese predefinito corretto per la visualizzazione di un negozio quando un acquirente cambia la visualizzazione del negozio nel carrello. In precedenza, quando si modificava la vista Store nel carrello, il paese predefinito era errato.
- La sequenza di configurazione delle autorizzazioni del catalogo non impedisce più agli amministratori con le autorizzazioni corrette di aggiungere prodotti al carrello. In precedenza, l'applicazione non verificava le impostazioni di configurazione
addToCart
per il gruppo di clienti corrente. Di conseguenza, quando un amministratore tentava di aggiungere un prodotto al carrello, l’applicazione generava un errore.
- Le chiamate ridondanti all'endpoint
/rest/V1/guest-carts/cart_id/totals-information
sul carrello sono state rimosse, migliorando le prestazioni del carrello. In precedenza, quando un acquirente aggiungeva un prodotto al carrello e successivamente lo visualizzava, l'applicazione chiamava più volte il metodocollectAddressTotals
.
- L'applicazione non visualizza più il campo Area per un paese nel flusso di lavoro di estrazione quando l'impostazione Consenti di scegliere lo stato se Facoltativo per Paese è disabilitata. GitHub-30747
- L’applicazione non ripete più un indirizzo di spedizione nel flusso di lavoro di pagamento della vetrina quando un ordine viene riordinato dall’amministratore.
- Sono stati corretti i problemi relativi alla progettazione di
AdminMediaGalleryInsertLargeImageFileSizeTest
.
- A tutti i nuovi record della tabella
quote
per gli ospiti viene ora assegnato il valore 1 incustomer_is_guest field
. In precedenza, per ogni nuovo ospite che aveva aggiunto un prodotto al carrello, al record veniva assegnato 0 nel campoquote.customer_is_guest
.
- Il pulsante Invia nella sezione Revisione e pagamenti del flusso di lavoro di pagamento è stato spostato all'interno di
<form id="purchaseorder-form"...></form>
, rendendo possibile l'invio implicito di moduli senza modificare alcun JavaScript. GitHub-27925
- L'applicazione non visualizza più il campo Area nel flusso di lavoro di estrazione quando l'impostazione Consenti di scegliere lo stato se facoltativo per Paese è disabilitata. GitHub-30747
- L'applicazione ora aggiorna correttamente il subtotale degli elementi di un carrello quando un acquirente fa clic su Aggiorna carrello durante l'estrazione con più indirizzi. GitHub-30408
- L'applicazione non genera più un'eccezione quando esistono
config.xml
nodi per i metodi di pagamento non installati. In precedenza, l'applicazione generava un'eccezione durante l'estrazione. GitHub-29555
- L’applicazione ora esegue il rendering dei nomi dei prodotti che contengono caratteri speciali correttamente nel mini carrello. GitHub-29075
- L’applicazione ora imposta il pacchetto di sconti corretto per il tasso di tabella. In precedenza, l’applicazione non applicava una regola del carrello che impostava uno sconto sul carrello quando calcolava il tasso di tabella. GitHub-30169
Regola prezzo carrello
- Le regole di prezzo del carrello ora vengono applicate come previsto quando i subtotali dell’ordine vengono calcolati senza includere l’imposta. La nuova opzione
Subtotal (Incl. Tax)
è stata aggiunta come condizione della regola del prezzo del carrello.
- L'applicazione di una regola di prezzo con un coupon tramite GraphQL ora funziona come previsto quando si utilizza l'azione Sconto importo fisso per l'intero carrello.
Catalogo
- L’applicazione ora visualizza tutti i prodotti riabilitati nella vetrina come previsto. In precedenza, quando un prodotto veniva disabilitato e poi riabilitato, l’applicazione non visualizzava il prodotto fino a quando la cache della pagina di vernice non veniva cancellata o l’archivio reindicizzato, perché la cache della pagina non veniva invalidata dopo la riabilitazione di un prodotto.
- La reindicizzazione parziale di cataloghi di grandi dimensioni ora funziona come previsto. In precedenza, i prodotti scomparivano in modo casuale dalla pagina delle categorie della vetrina durante la reindicizzazione con l'indicizzatore parziale
catalogsearch_fulltext
.
- Ora gli acquirenti possono riordinare un ordine fatturato di un prodotto con opzioni personalizzabili come previsto. In precedenza, l'applicazione generava questo errore quando un acquirente tentava di riordinare:
{"0":"The product's required option(s) weren't entered. Make sure the options are entered and try again
.
- È ora possibile impostare l'impostazione Layout nella pagina Struttura categoria su Nessun aggiornamento layout. In precedenza, l'applicazione è tornata a Categoria - FullWidth quando hai assegnato il valore Nessun aggiornamento layout.
- Sono stati risolti i problemi relativi all’ordinamento dei prodotti nella vetrina. In precedenza, quando l'applicazione indicizzava i prezzi dei prodotti, occasionalmente impostava
min_price
emax_price
configurabili su 0 nella tabellacatalog_product_index_price
, influenzando l'ordinamento dei prezzi nella vetrina.
- L'applicazione ora aggiorna correttamente gli attributi etichettati
Product Type
. In precedenza, poiché l'attributoproduct_type
era riservato nel codice, l'applicazione visualizzava questo messaggio quando si tentava di aggiornare un attributoProduct Type
:An attribute with the same code (product_type) already exists.
- L’applicazione non modifica più la posizione di un video caricato nella sezione Immagini e video della pagina dei dettagli del prodotto quando salvi il prodotto. In precedenza, alla nuova posizione dell’immagine veniva assegnato un valore di indice (posizione nell’elenco) e, se le posizioni dell’immagine esistenti non erano allineate con i rispettivi valori di indice, la nuova immagine non veniva inserita correttamente nell’elenco.
- La funzionalità Aggiungi al carrello ora funziona come previsto ogni volta che il pulsante Aggiungi al carrello è disponibile per fare clic. In precedenza, se si faceva clic più volte su questo pulsante durante l'attesa del caricamento di una pagina di prodotto, l'applicazione generava l'errore seguente:
Invalid Form Key. Please refresh the page
.
- L’applicazione non scarica più la cache delle categorie quando un commerciante aggiunge o rimuove prodotti disabilitati da o verso una categoria. In precedenza, l’applicazione scaricava la cache per le categorie correlate nonostante lo stato del prodotto. Quando una categoria veniva salvata, veniva inoltre annullata l’assegnazione delle categorie, con conseguente scaricamento della cache delle categorie.
- Il filtro dei prodotti del catalogo nell'ambito All store view ora funziona correttamente. In precedenza, i prodotti con uno stato di
Enabled
oDisabled
venivano visualizzati nella griglia mentre filtravano solo i prodotti abilitati o disabilitati.
- La reindicizzazione parziale non si traduce più in prodotti mancanti e categorie vuote.
- Il riordino ora funziona come previsto quando Usa calendario JavaScript è abilitato (Archivi > Configurazione > Catalogo > Opzioni personalizzate data e ora). In precedenza, quando questa impostazione era abilitata, l'applicazione visualizzava questo errore quando si tentava di riordinare l'ordine precedentemente effettuato dall'amministratore:
Please specify date required option(s)
.
- L’applicazione ora visualizza la valuta corretta nelle distribuzioni multisito durante la creazione del prezzo di livello.
- Gli attributi personalizzati dell’immagine del prodotto ora dispongono di un escape corretto. L'attributo
data-src
ha lo stesso valore dell'attributosrc
, come previsto. In precedenza, i simboli speciali URL venivano preceduti da un carattere di escape.
- L'aggiornamento di una categoria tramite l'API REST non disabilita più l'impostazione Usa valore predefinito negli attributi Abilita categoria, Includi nel menu e Chiave URL.
- L’abilitazione delle autorizzazioni per le categorie dall’amministratore non si traduce più in un errore di memorizzazione nella cache delle pagine delle categorie nella cache a pagina intera durante le visite ripetute alla pagina delle categorie. In precedenza, le visite successive alla pagina non venivano servite dalla cache come previsto e le prestazioni risultavano ridotte.
- Il salvataggio di una categoria ora svuota solo la cache dei blocchi relativa a questa categoria. In precedenza, l’applicazione scaricava la cache per tutti i blocchi di categoria.
- Il prezzo di un'opzione personalizzata con una percentuale di prezzo viene ora convertito come previsto nella valuta di base dello store attivo nelle distribuzioni multi-store. In precedenza, il prezzo di un’opzione personalizzata con una percentuale di prezzo veniva convertito in modo errato. GitHub-26432
- L'applicazione ora ricrea le immagini correttamente e queste sono visibili nell'amministratore come previsto ogni volta che un commerciante invia i dati della raccolta multimediale tramite POST
rest/all/V1/products
. In precedenza, l'applicazione ha ricreato le immagini ma le ha eliminate quando un commerciante ha inviato i dati della raccolta multimediale tramite POSTrest/all/V1/products
se le immagini sono state eliminate inpub/media
, ma erano ancora presenti record nei file multimediali contenenti ancora le immagini. Di conseguenza, il commerciante ha visto solo i segnaposto nell’amministratore, perché le immagini sono state create ed eliminate durante il processo di aggiornamento.
- I record vengono ora eliminati come previsto quando si rimuove un elemento da un sito Web. In precedenza, le immagini venivano duplicate durante l'esecuzione di POST
rest/all/V1/products
.
- La chiamata
/V1/categories/{categoryId}/products
ora restituisce un elenco di tutti i prodotti che appartengono alla categoria padre come previsto. In precedenza, se un prodotto apparteneva a più sottocategorie della categoria padre, l'applicazione generava questo tipo di errore:Internal Error. Details are available in the application log file. Report ID: webapi-5f8579e37db54
. GitHub-30461
- L'endpoint REST
/V1/products/attributes/:attributeCode/options
ora supporta l'aggiornamento di un'opzione di attributo esistente.
- Il prezzo di un'opzione personalizzata con una percentuale di prezzo viene ora convertito come previsto nella valuta di base dello store attivo nelle distribuzioni multi-store. In precedenza, il prezzo di un’opzione personalizzata con una percentuale di prezzo veniva convertito in modo errato. GitHub-26432
- I commercianti possono ora salvare correttamente un nuovo attributo durante la creazione del prodotto. In precedenza, l’applicazione non salvava l’attributo e, quando tentava di salvarlo, reindirizzava il commerciante alla home page di visualizzazione archivio. GitHub-30362
- Le griglie prodotti nelle pagine Vendite > Ordini e Catalogo > Prodotti elencano ora tutti i negozi rilevanti, non solo quello creato più di recente. GitHub-29267
- L'archivio prodotti ora utilizza
store_id
quando disponibile per salvare i valori degli attributi per un prodotto esistente. In precedenza, la classe dell’archivio di prodotto sovrascriveva l’ID dell’archivio di prodotti e assegnava sempre l’ID archivio predefinito. GitHub-29933
Regola catalogo
- Le regole del prezzo di catalogo ora funzionano come previsto con le opzioni personalizzate nelle pagine dei dettagli del prodotto. In precedenza, i prezzi dei prodotti su quella pagina non riflettevano le regole dei prezzi di catalogo applicabili. GitHub-22856
- Le cache di prodotti e cataloghi ora scadono come pianificato. In precedenza, le cache scadevano ogni giorno perché
сron
eseguiva l'attivitàcatalogrule_apply_all
una volta al giorno, indicizzando nuovamente tutte le regole del catalogo e gli indicizzatori dipendenti e cancellando la cache per tutti i prodotti e le categorie.
Pulizia
Pulizia errori di battitura e grammatica
- Il titolo della pagina Errore ordine è stato rivisto per maggiore precisione. Precedentemente, questa pagina si chiamava: Abbiamo ricevuto il tuo ordine.. GitHub-29416
- Sono stati rimossi gli spazi non necessari in
app/code/Magento/Contact/view/frontend/templates/form.phtml
. GitHub-29779
- È stato corretto un errore di battitura nel messaggio di aiuto per il sottocomando
bin/magento/setup:config:set
. GitHub-28802
- Correzione grammaticale in PHPDoc per il file
framework/Registry.php
. GitHub-29661
- Rimosso spazio vuoto estraneo da
app/code/Magento/Catalog/Helper/Product/View.php
. GitHub-30601
- È stato corretto un errore di battitura nel nome di una funzione in
app/code/Magento/Ui/view/base/web/js/form/element/ui-select.js
. GitHub-29987
- È stata corretta la pluralizzazione di "elemento" nel mini carrello e nel riepilogo degli ordini di pagamento. GitHub-29920
- È stato rimosso lo spazio vuoto negli elementi in linea nei filtri di navigazione a livelli di markup. GitHub-30448
rl
è stato corretto inurl
in\Magento\Framework\Filter\Template\Tokenizer\Parameter
. GitHub-29185
Pulizia del codice
- Un tag HTML
<br>
estraneo è stato rimosso dall'area dei messaggi di verifica dati della pagina System > Import.
- Refactoring di
ChangeQuoteControl
eseguito. GitHub-29673
- Refactoring di
AccessChangeQuoteControl
e dei relativi unit test eseguito. GitHub-29672
- È stato corretto lo stile di codice della dichiarazione del tipo restituito in
app/code/Magento/Captcha/CustomerData/Captcha.php
. GitHub-29712
- È stata corretta la posizione dell'elenco di pulsanti nella pagina Nuovo attributo.
- Aggiunta della classe di blocco corretta per l'esempio di riferimento
viewModel
front-end per la classe\Magento\Framework\View\Element\Template
. GitHub-30450
- Un set di campi ridondante nel modulo Regola di vendita è stato rimosso. GitHub-29599
- Codice non necessario rimosso dal modello
hierarchy/edit.phtml
.
- Commento PHPdoc corretto in
app/code/Magento/CatalogImportExport/Model/Export/Product.php
. GitHub-30833
- L'annotazione docblock per il messaggio
PublisherInterface
è stata corretta. GitHub-30190
- Argomenti corretti nel metodo
getStatusByState
. GitHub-30173
- Descrizione del metodo corretta in
app/code/Magento/Quote/Model/Cart/Totals/ItemConverter.php
. GitHub-30125
- Sono state rimosse le assegnazioni di variabili ridondanti nella stessa riga in più file. GitHub-30133
@param string $attribute
è stato modificato in@param AbstractAttribute|string[]|string $attribute
inEntityAbstract.php
. GitHub-30191
- I tag non validi (ad esempio
@package
e@subpackage
) sono stati rimossi dai docblock in tutta la base di codice. GitHub-30061
- I parametri inutilizzati nel costrutto della classe
AdvancedPricing
sono stati rimossi. GitHub-29531
Prodotti configurabili
- Il filtro dei prodotti configurabili esauriti in base al prezzo ora mostra i risultati all’interno dell’intervallo di prezzo corretto.
- Un prodotto virtuale non cambia più tipo quando il suo stato cambia da abilitato a disabilitato (o viceversa). In precedenza, quando lo stato di un prodotto veniva modificato, il tipo di prodotto veniva modificato da virtuale a semplice.
- Il metodo
getValue()
non attiva più un errore irreversibile durante l'aggiornamento dei carrelli.
- I prodotti configurabili disponibili su più siti web non mostrano più prodotti secondari semplici che non sono assegnati al sito web specifico. GitHub-28291
- Le pagine dei prodotti vetrina ora visualizzano i prezzi dei livelli senza imposte come previsto. GitHub-12225
- I prezzi MSRP per i prodotti configurabili ora vengono convertiti correttamente nella valuta scelta. In precedenza, l'applicazione visualizzava i prezzi nella valuta errata e generava questo errore:
Call to a member function setAppliedTaxes() on null
. GitHub-26526, GitHub-29603
- I commercianti possono ora salvare un’etichetta di opzione dell’attributo campione di testo specifico del negozio con un valore pari a 0 (zero). In precedenza, il valore 0 veniva sostituito con il valore dell’opzione Admin label. GitHub-30073
- I parametri inutilizzati nel costrutto della classe
AdvancedPricing
sono stati rimossi. GitHub-29531
cron
- L'elenco dei messaggi di sistema ora riflette con precisione gli aggiornamenti del prodotto dopo l'esecuzione di
cron
e l'applicazione ha aggiornato i prodotti come pianificato.
- Un indice basato su
schedule_id
estatus
è stato aggiunto alla tabellacron_schedule
. GitHub-29601
Attributi cliente personalizzati
- Dopo la creazione, nella pagina Informazioni account vengono ora visualizzati gli attributi del cliente di tipo
file
. In precedenza, quando si tentava di salvare un nuovo attributo di questo tipo, l'applicazione visualizzava gli errori seguenti:The "newAttribute" attribute value is empty. Set the attribute and try again
eValidation is failed
.
- L’applicazione ora visualizza correttamente i valori degli attributi personalizzati del cliente con più righe. In precedenza, non venivano visualizzati tutti i dati.
- L’applicazione ora avvisa gli acquirenti quando immettono una data di nascita non valida durante la creazione di un account. In precedenza, la convalida ignorava le impostazioni internazionali e gli acquirenti venivano reindirizzati alla pagina Crea nuovo account cliente con un errore di data non valido.
- Gli attributi di indirizzo personalizzati sono ora inclusi come previsto nel passaggio di pagamento del flusso di lavoro di pagamento.
- Gli attributi a selezione multipla dell'indirizzo personalizzato vengono ora visualizzati correttamente durante il check-out guest e nella pagina Dettagli ordine amministratore e account utente.
- Gli attributi di indirizzo personalizzati vengono ora visualizzati correttamente nell'area Account personale e nella pagina Dettagli ordine amministratore.
- È ora possibile eliminare uno zero iniziale in un attributo cliente personalizzato quando
Input Type
è impostato suText
eInput Validation
è impostato suNumeric Only
.
- L’applicazione ora esporta correttamente i dati del cliente che includono un valore personalizzato per l’attributo di genere.
- L’applicazione ora salva i valori degli attributi cliente personalizzati per gli utenti B2B come previsto. In precedenza, gli attributi cliente personalizzati creati per aggiungere o modificare gli utenti della società non erano associati al modulo Aggiungi nuovo utente e, di conseguenza, i valori degli attributi non venivano salvati. Inoltre, l’attributo di data personalizzato è derivato dal database come stringa e non è stato convertito nel formato di data corretto per la visualizzazione in vetrina.
Cliente
- Il widget del calendario per il campo data di nascita pagina conto cliente storefront ora utilizza le impostazioni locali dello store designate.
- L’applicazione non salva più le voci duplicate di un indirizzo di un cliente durante l’estrazione di un riordino di un cliente esistente da parte dell’amministratore.
- L’eliminazione di tutti gli indirizzi da più clienti dall’amministratore ora comporta l’eliminazione di tutti gli indirizzi dall’elenco degli indirizzi dei clienti e la rimozione degli indirizzi di fatturazione e spedizione predefiniti. In precedenza, l’applicazione eliminava l’indirizzo dall’elenco degli indirizzi del cliente, ma non rimuoveva gli indirizzi di fatturazione e spedizione predefiniti.
- La scheda Indirizzo cliente amministratore visualizza ora correttamente il conteggio degli indirizzi dopo che un amministratore ha eseguito un’eliminazione di massa degli indirizzi. In precedenza, l’applicazione includeva gli indirizzi eliminati nel suo conteggio.
- Il formato DataOra per il campo Data di nascita nella pagina di registrazione del cliente è stato corretto. In precedenza, mancava lo zero iniziale che precedeva un giorno a una cifra.
- La convalida del formato della data per il campo Data di nascita ora funziona prima che l'acquirente faccia clic sul pulsante Crea un account. In precedenza, un acquirente poteva immettere un valore in un formato non valido e quando ha fatto clic sul pulsante Crea un account, è stato reindirizzato alla pagina Crea nuovo account cliente con un errore di data non valido.
- L’applicazione non genera più un errore irreversibile quando un amministratore tenta di salvare un nuovo account del cliente che contiene dati non validi per un attributo.
- L’applicazione non genera più un errore 400 quando un cliente tenta di accedere al carrello in un’implementazione in cui il Magento Shipping era stato precedentemente installato e il tema Luma predefinito è attualmente distribuito. In precedenza, l’applicazione non filtrava i nomi di sezione creati da moduli installati/abilitati in precedenza che non erano supportati nell’amministratore prima di inviare le richieste al server, generando errori.
- L'applicazione visualizza ora un messaggio come previsto quando un acquirente crea un account guest quando l'impostazione Richiedi conferma e-mail è abilitata e
Magento\Customer\Controller\Account\CreatePost
è stato sostituito. In precedenza, l’applicazione non consentiva questo tipo di personalizzazione del processo di registrazione dell’utente e, in queste condizioni, lo stato di conferma e-mail di un utente veniva considerato completo, il nuovo utente veniva automaticamente connesso e non veniva visualizzato alcun messaggio di errore.
- L'applicazione ora assegna un acquirente al gruppo di clienti corretto quando effettua un ordine con un gruppo di clienti non predefinito in un negozio in cui è abilitato Abilita assegnazione automatica al gruppo di clienti. GitHub-26976
- La griglia dei clienti amministratori è ora disponibile come previsto quando il sito Web non predefinito viene eliminato in una distribuzione multisito quando gli indici sono impostati su Aggiorna secondo pianificazione. In precedenza, l'applicazione non visualizzava la griglia e generava questo errore:
[2020-12-09 11:31:54] report.CRITICAL: The website with id 2 that was requested wasn't found. Verify the website and try again. \{"exception":"[object] (Magento\\Framework\\Exception\\NoSuchEntityException(code: 0): The website with id 2 that was requested wasn't found. Verify the website and try again. at /var/www/html/magento24ee/vendor/magento/module-store/Model/WebsiteRepository.php:110)"}
dotdigital
-
La gestione degli errori è stata migliorata durante il recupero di elenchi di programmi da Adobe Engagement Cloud.
-
Il valore sincronizzato nella colonna del nome dell'archivio durante la sincronizzazione guest è ora il nome della visualizzazione dell'archivio come previsto. In precedenza, il nome del sito web veniva incluso in questa colonna.
-
È stato aggiunto un controllo array prima di eseguire un ciclo sulle automazioni dello stato degli ordini dopo il salvataggio di un ordine.
-
Risoluzione dei problemi relativi agli aggiornamenti del Compositore dovuti alla dipendenza del modulo dotdigital da
magento/module-authorization
.
Download disponibile
- L’applicazione non elenca più un prodotto scaricabile nella scheda I miei prodotti da scaricare dopo che il prodotto scaricabile è stato parzialmente rimborsato. GitHub-28388
Blocco dinamico (precedentemente banner)
- L’applicazione non visualizza più un blocco dinamico nella vetrina dopo l’eliminazione del segmento cliente associato al blocco.
- L’applicazione ora tiene correttamente conto delle regole del prezzo di catalogo nel determinare se visualizzare un blocco dinamico.
EAV
- Gli attributi personalizzati che utilizzano
\Magento\Eav\Model\Entity\Attribute\Backend\ArrayBackend
ora utilizzano valori predefiniti se non viene fornito alcun valore nel payload quando un prodotto viene creato tramite chiamata API.
\Magento\Config\Model\Config\Source\Email\Template::toOptionArray
non genera più un errore quandosetPath()
non viene chiamato prima ditoOptionArray()
. GitHub-29315
- L'applicazione ora converte correttamente il testo normale in HTML quando si fa clic su Restituisci versione HTML durante il caricamento di un modello di posta elettronica.
- L'e-mail inviata ai clienti che contiene fatture parziali ora include subtotali articoli precisi. In precedenza, il subtotale in questa e-mail era il totale della quantità ordinata, non l’importo totale della quantità fatturata.
- L’applicazione ora invia promemoria e-mail a tutti i clienti rilevanti con indirizzi e-mail validi. In precedenza, l’applicazione cessava di inviare e-mail di promemoria ai clienti dopo aver incontrato un indirizzo non valido.
- L’invio di e-mail di vendita in modalità asincrona ora funziona come previsto dopo la rimozione di un prodotto da un catalogo. In precedenza, l'invio asincrono dei messaggi di posta elettronica era bloccato e l'applicazione visualizzava questo errore:
main.ERROR: Cron Job sales_send_order_invoice_emails has an error: Call to a member function getData() on null. Statistics: {"sum":0,"count":1,"realmem":0,"emalloc":0,"realmem_start":73400320,"emalloc_start":37177640} [] []main.CRITICAL: Error when running a cron job {"exception":"[object] (RuntimeException(code: 0): Error when running a cron job at /var/www/html/vendor/magento/module-cron/Observer/ProcessCronQueueObserver.php:327, Error(code: 0): Call to a member function getData() on null at /var/www/html/vendor/magento/module-catalog/Helper/Image.php:502)"} []
. GitHub-26878
- L'applicazione non copia più il messaggio di posta elettronica di conferma di un cliente quando
sales_email/order_comment/enabled
è disabilitato esales_email/order_comment/copy_method
è impostato subcc
. GitHub-29915
Framework
- I gruppi di filtri personalizzati vengono ora applicati correttamente durante la ricerca sui clienti. In precedenza, la funzione
afterSearch
non utilizzava filtri OR come previsto. GitHub-24576
- Le immagini nella home page di un negozio ora vengono riprodotte correttamente. In precedenza, il HTML di origine della pagina era danneggiato perché le tre barre consecutive nel codice base64 dell’immagine venivano interpretate erroneamente come un commento.
- DatePicker ora funziona correttamente quando si filtrano gli ordini nell'elenco Ordini amministratore nei negozi utilizzando le impostazioni locali arabe (
ar_SA - Saudi Arabia
).
- DatePicker visualizza ora la data corretta dopo che un commerciante ha salvato una regola del prezzo del carrello in una distribuzione. GitHub-30382
- L'applicazione ora rappresenta correttamente il raggruppamento delle migliaia e i simboli separatori decimali arabi. In precedenza, i simboli arabi venivano tagliati. GitHub-26676
- L'applicazione ora elimina le sessioni di database scadute dalla tabella del database
session
come previsto.
Correzioni generali
- È ora possibile configurare un gestore di sessione nativo diverso da quello definito in
php.ini
. In precedenza,SessionManager
non impostava memcache comesave_handler
, ma utilizzava invecesession_handler
del file. l'applicazione ha generato l'errore:main.CRITICAL: Warning: SessionHandler::read(): open(127.0.0.1:11211/sess_0imeeaqmnvemdg4e3h57tat0ik, O_RDWR) failed: No such file or directory (2) in../vendor/magento/framework/Session/SaveHandler/Native.php on line 22 {"exception":"[object] (Exception(code: 0): Warning: SessionHandler::read(): open(127.0.0.1:11211/sess_0imeeaqmnvemdg4e3h57tat0ik, O_RDWR) failed: No such file or directory (2) in ../vendor/magento/framework/Session/SaveHandler/Native.php on line 22 at ../vendor/magento/framework/App/ErrorHandler.php:61)"}
. GitHub-24717
-
Sono stati apportati i seguenti miglioramenti ai moduli
LoginAsCustomer
:-
Il plug-in
around
è stato sostituito conafter
-
Codice ridondante rimosso
-
Sostituzione di
(bool)->getValue()
conisSetFlag
. GitHub-29689
-
- Il ricaricamento di tutte le sezioni di dati cliente per carattere jolly (*) non causa più la generazione di un errore 400 da parte delle richieste a
customer/section/load
. GitHub-28154
- L'applicazione ora passa a
var/report
le eccezioni che si verificano quando un layout viene riprodotto in modalità di produzione. GitHub-29606
- L’applicazione non reindirizza più i clienti alla home page quando si cambia la vista Store. Il metodo
\Magento\VersionsCmsUrlRewrite\Model\StoreSwitcher::switch()
reindirizza gli acquirenti alla home page solo quando$urlPath
non viene trovato per la seconda visualizzazione archivio.
- L’applicazione ora genera un’eccezione quando un cliente che non esiste richiede una reimpostazione della password. GitHub-26288
- Ora l’applicazione visualizza un messaggio di errore informativo quando un amministratore tenta di salvare un account cliente che contiene un valore non valido per un attributo cliente durante il caricamento di un file che contiene tale valore. In precedenza, l’applicazione generava un errore irreversibile. GitHub-30295
- L'applicazione ora applica l'impostazione di configurazione Logo per Visualizzazione stampa HTML ai PDF fattura vetrina come previsto. GitHub-24730
static::
è stato sostituito conself::
in tutta la base di codice per accedere alle costanti private. GitHub-30781
- L'applicazione ora apre la pagina Nuovo attributo come previsto quando un commerciante fa clic due volte sul pulsante Crea nuovo attributo durante la creazione del prodotto. In precedenza, l’applicazione visualizzava una pagina vuota e generava un errore. GitHub-30361
- L'applicazione non visualizza più il messaggio
The coupon code has been accepted
dopo la rimozione di un coupon. GitHub-30255
- Gli amministratori ora possono assegnare widget a categorie specifiche. GitHub-30009
- Il selettore di attributi
input[type=datetime]
è stato sostituito con un selettore di tipi di input meno specifico. GitHub-30064
- L’applicazione ora visualizza i valori specifici del negozio associati agli attributi di categoria personalizzati come previsto. GitHub-13440
- L'applicazione visualizza ora un messaggio che chiede se il gruppo di clienti deve essere modificato quando si fa clic sul pulsante Convalida partita IVA nella pagina di creazione dell'ordine quando l'indirizzo del negozio e la destinazione di spedizione appartengono a diversi paesi dell'UE. GitHub-29652
- Refactoring della classe
\Magento\Catalog\Model\ImageUploader
per l'utilizzo del nuovo metodomoveFileFromTmp
eseguito. GitHub-29598
- L'applicazione visualizza ora un messaggio di errore più informativo quando un commerciante tenta di creare un attributo di prodotto con codici
product_type
etype_id
per essere più descrittivo. GitHub-28479
- È stata corretta la logica di convalida per i campi Durata token cliente (ore) e Durata token amministratore (ore) nella pagina Archivi > Configurazioni > Servizi > OAuth dell'amministratore. GitHub-29502
- L'applicazione ora analizza correttamente il testo che contiene
}}
nel campo del contenuto del widget. GitHub-12087
- È ora possibile rimuovere un filtro dalla pagina Categorie di prodotti. In precedenza, quando si tentava di eliminare il filtro, l'applicazione non consentiva di rimuovere il filtro e veniva visualizzato questo errore:
Something went wrong
. GitHub-8538
- È ora possibile creare un'istanza di
Magento\Framework\MessageQueue\ConfigInterface
quando il modulo opzionaleMagento_MessageQueue
è disabilitato. In precedenza, l'applicazione ha generato questo errore:PHP Fatal error: Uncaught Error: Cannot instantiate interface Magento\Framework\MessageQueue\ConfigInterface in /var/www/magento2/magento2/lib/internal/Magento/Framework/ObjectManager/Factory/AbstractFactory.php:121
. GitHub-26080
- È stata migliorata la logica che determina quando l’applicazione può recuperare il valore e-mail dallo storage persistente. In precedenza, l’applicazione visualizzava dei campi di password compilati nella pagina di pagamento quando un utente non registrato ritornava alla pagina di pagamento dopo aver completato per la prima volta il campo e-mail. GitHub-26903
- Attributo
aclResource
mancante aggiunto al blocco della barra degli strumenti dell'intestazione amministratoreAdminNotification
. In precedenza, la voce della barra degli strumenti Notifica amministratore era visibile anche quando l’utente amministratore non disponeva delle autorizzazioni per le risorse dei ruoli necessarie per visualizzarla. GitHub-29067
- Le funzioni
framework/database/select
where
ora gestisconotype
correttamente. GitHub-29590
- L'utilizzo inefficiente di
array_merge
nei loop è stato migliorato in tutta la base di codice, migliorando le prestazioni in diverse posizioni, incluso il processo di distribuzione dei contenuti statici. GitHub-30183
- La durata predefinita della sessione di amministrazione è stata spostata dal modulo di crittografia al modulo di sicurezza. GitHub-30859
- L'applicazione ora verifica la presenza di costanti private in una classe e visualizza un avviso se sono presenti
static::
chiamate a tali costanti. In precedenza, l'applicazione ha generato questo errore:Undefined class constant
.
- Sono state aggiunte regole a
editorconfig
per supportare il rientro dei file JSON e YAML di due spazi. GitHub-30066, GitHub-30063
- La classe
FlushCacheByTags
è stata aggiornata per l'utilizzo dei plug-in successivi anziché dei plug-in adiacenti. GitHub-29558
MessageValidator
non genera più errori su array hash che non includono un elemento0
. GitHub-30563
- Il codice nel file
checkout_index_index.xml
è stato migliorato con la rimozione disortOrder
dai componentimessages
,authentication
,progressBar
,estimation
esidebar checkout
. GitHub-30550
- Il contenuto in
calc
ha ora un escape, che restituisce valoricalc
corretti nel file di output CSS. In precedenza, l'applicazione restituiva un valorecalc
errato. GitHub-30542
- Il generatore di riscrittura URL ora imposta l'oggetto categoria
url_key
,url_path
estore_id
sui valori di archivio predefiniti durante il salvataggio delle riscritture dell'URL categoria per l'ambito globale. In precedenza, aveva salvatourl_key
,url_path
estore_id
con i valori dell'ultimo ID archivio elaborato. GitHub-29585
\Magento\Widget\Controller\Adminhtml\Widget\Instance\Validate
ora riconosce il valore del risultato di una frase come messaggio di errore e lo restituisce all'utente durante la convalida del widget. GitHub-27397
- L'elenco hardcoded degli attributi di categoria in
Magento\Catalog\Model\Category\DataProvider::getFieldsMap()
è stato sostituito con un elenco di attributi generati dalla cache. GitHub-13440
- L'hashing ridondante di
req.http.host/client.ip
è stato rimosso e l'hashing è gestito dal file VCL integrato di Varnish. GitHub-29988
- Aggiunta di un callback di errore allo strumento di caricamento file
Magento_Ui
. GitHub-29557
- È stata corretta un'incoerenza di
acl.xml
che si è verificata quandoMagento_LoginAsCustomerAssistance
è stato abilitato maMagento_LoginAsCustomerAdminUi
oMagento_LoginAsCustomerLog
sono stati disabilitati. In precedenza, quando l'amministratore con queste credenziali tentava di accedere all'amministratore, l'applicazione visualizzava una pagina vuota e generava questo errore quando:Exception #0 (LogicException): Could not create an acl object: Invalid Document Element 'resource': The attribute 'title' is required but missing. Line: 13
. GitHub-30680
- L'applicazione non genera più un errore
Undefined class constant
quando viene generato un erroreInterceptor
durante la creazione del plug-in. GitHub-28981, GitHub-29879
- L’applicazione ora gestisce correttamente la messaggistica e la registrazione per le operazioni di massa asincrone. In precedenza, anche se i prodotti venivano aggiornati, le tabelle
magento_operation
equeue_message_status
non venivano aggiornate correttamente e i messaggi di sistema non erano corretti. GitHub-29718
- Un acquirente viene ora reindirizzato alla pagina Imposta nuova password come previsto quando fa clic su Imposta una nuova password nell'e-mail Reimposta password quando Richiedi conferma e-mail è abilitato per l'archivio. In precedenza, l'acquirente veniva reindirizzato al pulsante Password dimenticata nella pagina di accesso. GitHub-27954
- È stato corretto un errore di conversione da matrice a stringa durante il salvataggio della configurazione del sistema righe con valori predefiniti. GitHub-30314
- È ora possibile impostare gli argomenti per le code di messaggi. GitHub-30216
- L'agente di raccolta file di base ora rispetta
AppState->emulateAreaCode()
. GitHub-39656
- La nuova classe
BlockByIdentifier
supporta il recupero di un blocco di layout basato sull'identificatore di blocco CMS. Di conseguenza, quando un blocco CMS viene rimosso dalla cache, l’applicazione cancella anche la cache del blocco layout. GitHub-28309
- Sono stati risolti i problemi relativi alla conversione degli argomenti numerici nelle code. In precedenza, quando si dichiarava una coda con
type
argomenti numerici inqueue_topology.xml
, il valore dell'argomento veniva impostato su stringa. GitHub-29615
Biglietti regalo
- Le e-mail che contengono un codice gift card ora vengono inviate solo dopo che l'ordine è stato salvato correttamente quando è abilitata l'impostazione di configurazione Crea un account gift card quando viene ordinato un articolo dell'ordine. In precedenza, un codice gift card veniva riutilizzato e inviato a clienti diversi se al momento dell'ordine degli articoli veniva generato un account gift card, ma si verificava un'eccezione dopo l'invio della gift card virtuale.
- L'applicazione non duplica più ordini gift card. In precedenza, quando un acquirente ordinava una gift card, l’applicazione consegnava due codici regalo. Ciò si è verificato perché
cron
processi denominati\Magento\GiftCard\Observer\GenerateGiftCardAccountsInvoice::execute()
e questo metodo non ha verificato se i codici gift card sono già stati generati durante la creazione della fattura.
- Gli esercenti possono ora annullare l’assegnazione dei prodotti dalle categorie come previsto. In precedenza, l'applicazione restituiva un errore simile al seguente:
Could not save product "4" with position 0 to category 3
.
- È stato aggiunto il supporto per
root
symlink nelle pagine di errore e nella modalità di manutenzione. In precedenza, seroot
omagento/pub
erano collegati in una directory diversa, il processore errori (Magento\Framework\Error\Processor
) non ha generato un URL del file di visualizzazione corretto. GitHub-30296
- Array
order_data
mancante aggiunto alle classiEmailSender
. In questo modo queste classi sono allineate con il consiglio del Magento di utilizzare variabili scalari invece di oggetti all’interno dei modelli e-mail. GitHub-29604
Gestione tag Google
- La funzione Gestione tag di Google
productClick
ora funziona come previsto. In precedenza,productClick
non veniva attivato sui prodotti nelle pagine di elenco e Google Tag Manager non poteva acquisire tale evento.
- Le opzioni di prodotto configurabili di Google Tag Manager ora vengono aggiornate come previsto nel livello dati dopo la modifica delle opzioni di prodotto configurabili nel carrello. In precedenza, i dati per l'evento
removeFromCart
venivano riscritti in modo errato quando l'opzione prodotto veniva modificata e la quantità rimaneva invariata.
GraphQL
- La query
urlResolver
ora gestisce correttamente i parametri di query.
- La query
urlResolver
non restituisce più NULL quando si specificano come input un nodo e una pagina CMS personalizzati. GitHub-30474
- La query
category
non restituisce più categorie figlio di una categoria padre disabilitata. GitHub-30468
- La query
category
ora restituisce il percorso corretto di un'immagine di categoria quando le riscritture URL sono disabilitate.
- La mutazione
resetPassword
ora restituisce un messaggio più informativo quando si verifica un errore. GitHub-30179
- I risultati memorizzati nella cache della query
products
vengono invalidati come previsto quando cambiano le posizioni del prodotto. GitHub-30467
- La query
products
ora restituisce i risultati previsti quando il filtrocategory_id
è specificato con la parola chiavein
. GitHub-30349
- Le query
categories
ecategoryList
ora considerano la disponibilità delle categorie in base alla configurazione delle autorizzazioni delle categorie e all'ID della categoria padre. GitHub-29880, GitHub-30624
- La mutazione
updateProductsInWishList
ora convalida correttamente gli elementi della lista dei desideri. GitHub-30467
-
Sono stati dichiarati obsoleti diversi attributi in
ProductInterface
eCategoryInterface
per impedirne l'utilizzo nella vetrina. GitHub-30625 -
I prezzi sono ora nascosti dai risultati delle query sui prodotti quando le autorizzazioni della categoria sono impostate per nasconderli. GitHub-29926
- È ora possibile utilizzare la mutazione
addProductsToWishList
per aggiungere a una lista dei desideri un prodotto bundle con una quantità definita dall'utente.
- Le mutazioni che aggiungono prodotti a un carrello ora rispettano le autorizzazioni del catalogo. GitHub-30179
- È stato migliorato il tempo di risposta di GraphQL per le operazioni di aggiunta al carrello.
- La query
products
ora restituisce i valori del prezzo del livello come previsto. GitHub-29168
- Rimosso un
getMappedNums
ridondante da un loop inlib/internal/Magento/Framework/GraphQl/Query/EnumLookup.php
. GitHub-30031
- La query
products
non restituisce più un errore quando il prodotto su cui è stata eseguita la query ha un prodotto correlato disabilitato. GitHub-28892
- La query
cart
ora restituisce i prezzi convertiti nella valuta corretta (la valuta di visualizzazione predefinita). In precedenza, la query restituiva il valore del prezzo dell'articolo nella valuta di base e il codice della valuta veniva restituito come valuta di visualizzazione predefinita.
- GraphQL ora rispetta le autorizzazioni del catalogo. L'applicazione limita gli elementi restituiti per una query
products
in base al gruppo di clienti dell'acquirente.
- Attributo
customizable_option
aggiunto a più tipi di dati che implementanoCartItemInterface
.
- Sono stati aggiunti attributi per la query
storeConfig
per restituire informazioni su store, gruppo di store e sito Web.
- È stato ripristinato l'attributo
SelectedCustomizableOption.type
. Inoltre, l'attributocustomizable_options
all'interno di varie implementazioni diCartItemInterface
non è più null.
- La funzionalità di ricerca della query
products
non restituisce più elementi in cui sono state abilitate autorizzazioni di categoria.
- La query
products
restituisce la valuta corretta per le visualizzazioni dello store con più valute.
- Le etichette per i filtri query
products
ora restituiscono valori tradotti, se applicabili per le visualizzazioni archivio non predefinite.
- Importi nella valuta del negozio fissi sulle carte regalo nel carrello.
- È stato aggiunto il tipo di dati
ConfigurableProductOptionsSelection
, che contiene i metadati corrispondenti alle opzioni configurabili selezionabili per un prodotto. Utilizzare questo oggetto in una queryproducts
per ridurre al minimo il numero di elementi della raccolta multimediale visualizzati quando l'acquirente seleziona opzioni di prodotto configurabili.
Prodotti raggruppati
- La query prodotti ora restituisce tutti i dati previsti per i prodotti raggruppati. In precedenza,
product_links
era un array vuoto.
- Un prodotto raggruppato è ora elencato come esaurito nella pagina di modifica del prodotto quando tutti i prodotti semplici figlio sono esauriti.
- Lo stato di un prodotto raggruppato ora viene aggiornato correttamente nella pagina di modifica del prodotto quando lo stato dei suoi prodotti semplici figlio diventa esaurito. In precedenza, l'articolo delle scorte di magazzino per il padre del prodotto raggruppato non veniva aggiornato dopo che i relativi figli avevano cambiato lo stato delle scorte.
Immagini
- Le immagini nella home page di un negozio ora vengono riprodotte correttamente. In precedenza, il HTML di origine della pagina era danneggiato perché le tre barre consecutive nel codice base64 dell’immagine venivano interpretate erroneamente come un commento.
- La dipendenza dall'estensione
fileinfo
è stata rimossa dal modulo CMS. In precedenza, l'applicazione generava un errore quando si tentava di caricare un'immagine utilizzando lo strumento di caricamento immagini, che viene avviato quando si fa clic sul pulsante Inserisci immagine durante l'aggiunta di contenuto. GitHub-24332, GitHub-16531, GitHub-29852
- Aggiunta del supporto per la lettura dei metadati
exif_image.png
oexif-image.jpeg
. GitHub-1449
- Le immagini vengono ora visualizzate dal widget Carosello eventi catalogo dopo il caricamento, come previsto. In precedenza, il processo cron
catalog_event_status_checker
eliminava le immagini caricate.
- I colori delle immagini CMYK ora vengono riprodotti correttamente. Quando la scheda Imagick rileva che un'immagine aperta ha uno spazio colore CMYK, lo spazio colore viene convertito in SRGB. In precedenza, queste immagini venivano sottoposte a rendering con colori invertiti. GitHub-22375
- I valori booleani non sono più impostati per
image_with_border.phtml
. Le impostazionimax-width
eheight
ridondanti sono state rimosse da.product-image-photo
. (Questi valori sono già impostati globalmente sull'immagine tramite gli stili di ripristino.) GitHub-30186
Importa/esporta
- All'indirizzo cliente
region_id
non viene più assegnato un valoreNULL
quando si importano gli indirizzi dei clienti utilizzando un file CSV (entity type = "customer address"
eimport behavior = "add/update"
) da cui sono stati eliminati alcuni valori di campo.
- Ora è possibile nascondere le immagini del prodotto nella vetrina durante l'importazione.
- Un processo di importazione prodotto pianificato ora aggiorna i prodotti con campi dati corretti quando il file CSV contiene anche voci errate. In precedenza, nessuna voce veniva aggiornata se il file CSV conteneva voci errate quando Errore: continuazione elaborazione era abilitato.
- Quando un prodotto importato ha
qty
impostato su 0 mais_in_stock set
su 1 nel file CSV, il prodotto non è elencato nella pagina della categoria e la pagina dei dettagli del prodotto lo identifica come esaurito. In precedenza, i prodotti con questi valori erano visibili sulla vetrina dopo l’importazione.
- L'importazione CSV non ignora più i valori
dropdown
etextarea
per gli attributi aggiuntivi. In precedenza, questi valori di attributo non venivano aggiornati durante l’importazione.
- Il file CSV di esportazione del prodotto ora viene visualizzato nell’elenco di amministrazione dei file CSV di esportazione come previsto. In precedenza, l'applicazione generava un errore durante l'esecuzione del comando:
bin/magento queue:consumers:start exportProcessor --single-thread --max-messages=10000
.
- L’applicazione non genera più un errore durante l’importazione di dati CSV che includono caratteri dell’alfabeto bengalese (bengalese).
- L'applicazione visualizza ora un messaggio di errore informativo quando un amministratore fa clic su Controlla dati durante l'importazione di un file che è stato modificato dopo l'esportazione quando si lavora in Chrome. In precedenza, l’applicazione mostrava un errore della console ma non indicava all’utente come procedere.
- L’applicazione non duplica più le immagini del prodotto quando importi gli stessi dati CSV degli stessi prodotti più di una volta. GitHub-21885
- Il limite di 90 caratteri per i nomi dei file di immagine in
vendor/magento/framework/File/Uploader.php
è stato rimosso. In precedenza, la lunghezza della directory e del nome file non poteva superare i 255 caratteri. L'applicazione ha importato prodotti con immagini il cui nome di file ha superato questo limite, ma non ha importato il file di immagine. GitHub-29377
- È ora possibile esportare i codici coupon in CSV o XML. In precedenza, quando si tentava di esportare i coupon, veniva visualizzato un errore 404 facendo clic su Esporta CSV o Esporta XML. GitHub-29277
- Le immagini di prodotto duplicate vengono ora rimosse dopo l’importazione di un file CSV che contiene immagini. GitHub-14398, GitHub-21885
Indice
- Sono state migliorate le prestazioni dell’indicizzatore parziale. L’applicazione ora cancella gli ID cache che sono stati modificati per ogni iterazione batch da 1000 ID. Il contesto della cache non accumula più ID. In precedenza, il contesto della cache accumulava ID di cache per ogni iterazione batch con 1000 ID e cancellava lo stesso set di ID su ogni iterazione.
- Sono state corrette le incongruenze tra il sistema di reindicizzazione parziale e il sistema di reindicizzazione completo. Entrambi i sistemi di indicizzazione ora utilizzano lo stesso codice, che funziona correttamente. In precedenza, entrambi i sistemi di indicizzazione utilizzavano una logica diversa per quanto riguarda gli indicizzatori condivisi, che potenzialmente causava l’invalidazione degli indicizzatori dopo ogni esecuzione del sistema di reindicizzazione parziale. GitHub-29478, GitHub-29297
-
Sono stati risolti dei problemi relativi all’indicizzatore manuale che avevano causato la visualizzazione di pagine di categorie vuote o una riduzione del numero di prodotti nelle pagine di categorie. Si sono verificati problemi con pagine di categorie o conteggio dei prodotti incompleti quando:
-
gli indicizzatori parziali
catalogsearch_fulltext
ecatalog_product_price
sono stati eseguiti su un catalogo di grandi dimensioni fino al completamento dell'esecuzione. -
l'indicizzatore parziale è stato eseguito su indici
catalog_category_product
ocatalog_product_category
e allo stesso tempo è stata eseguita una reindicizzazione completa su uno di questi indici. Questi due processi di indicizzazione potevano entrare in conflitto e i prodotti risultavano mancanti nelle pagine delle categorie. -
bin/magento indexer:reindex inventory
eseguito su un catalogo di grandi dimensioni. Prodotti mancanti dalle pagine delle categorie fino al completamento dell'esecuzione dell'indicizzatore parzialecatalogsearch_fulltext
.
-
- È stato aggiunto un indicizzatore alla tabella MySQL
Magento_Bulk
, che ha migliorato le prestazioni delle operazioni di massa.
- I commenti nelle tabelle del database ora riflettono con precisione lo stato della tabella dopo la reindicizzazione (
bin/magento indexer:reindex
). In precedenza, i commenti della tabella dopo la reindicizzazione contenevano gli stessi valori contenuti nei commenti dopo una nuova installazione.
- L'istruzione
SELECT entity_id IN
è stata migliorata nelle implementazioni di MariaDB v.10.3.18, migliorando le prestazioni dell'indicizzazione delle categorie del catalogo. GitHub-25199
- Adobe Commerce ha migliorato le prestazioni della cache eliminando lo scaricamento dei tag più volte per istanza di indicizzatore. GitHub-29890
Infrastruttura
- È ora possibile utilizzare
app/etc/env.php
per modificare il gestore di messaggi da MYSQL a AMQP.
- I problemi relativi al calcolo dei rimanenti per i valori decimali per le quantità di prodotto sono stati corretti nella libreria JavaScript pertinente. L’applicazione calcolava in precedenza frazioni decimali superiori a due cifre in modo errato e in seguito visualizzava un messaggio errato.
- Il metodo
\Magento\Authorization\Model\Rules::update
è stato dichiarato obsoleto. GitHub-29128
- L’applicazione non genera più un errore irreversibile durante la conversione di un oggetto data da UTC. In precedenza, in determinate condizioni, il metodo
convertConfigTimeToUtc
ha generato un'eccezione. GitHub-29525
DataObject
è stato sostituito con il modello di prodotto in\Magento\MediaGalleryCatalogUi\Ui\Component\Listing\Columns\Thumbnail::prepareDataSource
.GitHub-1711
- Il resolver
RequireJS
non è più in grado di rilevare le risorse bloccate. In precedenza, il risolutore non rilevava correttamente se tutte le risorse su una pagina fossero state caricate o gestite in modo appropriato e la pagina continuava a essere caricata. GitHub-28116
- La convalida del codice dell'archivio attributi ora rispetta
Magento\Eav\Model\Entity\Attribute::ATTRIBUTE_CODE_MAX_LENGTH
anziché un valore hardcoded. GitHub-29017
- La minimizzazione HTML non elimina più le triple barre (https://experienceleague.adobe.com///?lang=it) dalle stringhe HTML nei file PHTML. In precedenza, le tre barre venivano interpretate come commenti durante la minimizzazione e il resto della riga veniva completamente rimosso nel file PHTML generato al momento della distribuzione.
- Gli esercenti possono ora configurare le sottoscrizioni agli indicizzatori a livello di colonna di una tabella anziché a livello di tabella. È stato aggiunto un nuovo argomento a
\Magento\Framework\Mview\View\Subscription
per consentire di ignorare le colonne per una visualizzazione o una combinazione di tabelle specifica. GitHub-30243
- Facendo clic sul pulsante Aggiungi al carrello prima che la pagina del prodotto JavaScript sia stata completamente inizializzata, non verranno più restituiti valori
form_key
duplicati. In precedenza, era possibile aggiungere al carrello un prodotto con un valoreform_key
memorizzato nella cache che attivava un'eccezione. Quando si faceva clic su Aggiungi al carrello prima che JavaScript fosse completamente inizializzato, il valoreform_key
inviato nei dati del modulo non corrispondeva alla sessione utenti e il prodotto non veniva aggiunto al carrello. GitHub-13746
- Il client cURL corrente ora rispetta i nomi di intestazione senza distinzione tra maiuscole e minuscole. In precedenza, per il confronto di
Set-Cookie
veniva fatta distinzione tra maiuscole e minuscole, il che poteva causare problemi con alcuni server HTTP. GitHub-29524
- Formato XSD URN aggiornato in
api-functional
e file XML del test case. GitHub-30552
- Un prefisso evento e un oggetto evento sono stati aggiunti all'insieme di valori dell'opzione del prodotto di catalogo per migliorare la personalizzazione del caricamento dell'insieme di
\Magento\Catalog\Model\ResourceModel\Product\Option\Value\Collection
. GitHub-29621
- Tutte le occorrenze di
array_merge
sono state reimpostate in modo da utilizzare il formato consigliato nello standard di codifica. GitHub-30005
- Blocco
head.additional
di tipo\Magento\Framework\View\Element\Text\ListText
aggiunto al layoutadminhtml
default
(damagento2/module-base
). GitHub-29165
- È stato aggiunto un metodo URL di escape mancante al widget del modulo del modello di layout. GitHub-30036
- Il metodo
\Magento\Framework\Filesystem\Io\File::read()
è ora compatibile con\Magento\Framework\Filesystem\Io\IoInterface::read()
. GitHub-27866
Klarna
- Rimossa la dipendenza dal modulo PayPal. GitHub-29421
Registrazione
- Il modulo
Magento_Logging
ha ora registrato correttamente i nuovi valori e i valori che li hanno preceduti. In precedenza, i valori nella colonna Valore prima della modifica visualizzavano valori di N/D indipendentemente dal fatto che si trattasse della prima modifica o della successiva oppure dal momento in cui veniva restituito il valore predefinito. GitHub-26943
Raccolta file multimediali
- La pagina Amministratore Archivi > Configurazione > Avanzate > Sistema è stata aggiornata per visualizzare il nome del prodotto corretto (Media Gallery). Sono state incluse modifiche minori all’interfaccia utente. GitHub-1738
- I collegamenti nella sezione Utilizzato nelle descrizioni delle immagini di Media Gallery ora visualizzano una griglia filtrata dall’immagine selezionata come previsto. In precedenza, la griglia visualizzata non aveva un titolo corretto e le voci dell’elenco non erano precise. GitHub-1694
- È ora possibile modificare più immagini in Media Gallery. In precedenza, non era possibile aggiungere tag a una seconda immagine dopo l’aggiunta di tag a un’immagine. GitHub-1755
- Dopo aver rimosso i tag da un’immagine in Media Gallery, il menu a discesa Tag ora è vuoto, come previsto. GitHub-1703
- L’elaborazione in batch dei messaggi della coda di sincronizzazione di Media Gallery è ora supportata. GitHub-1724
- L'applicazione visualizza ora una pagina 404 come previsto quando si tenta di aprire la Raccolta multimediale quando Raccolta multimediale avanzata è disabilitato. GitHub-1760
MediaGalleryMetadata
ignora ora il lettore di segmenti se si verifica un'eccezione e analizza e visualizza i metadati dell'immagine come previsto. In precedenza, i metadati dell'immagine erano vuoti a causa di un'eccezione del lettore di segmentiexif_read_data
. GitHub-1782
- La lunghezza del nome della cartella non impedisce più il caricamento di un'immagine in Media Gallery. Media Gallery ora imposta la colonna del percorso come tipo
text
. GitHub-1778
- Quando si inserisce una rappresentazione da Media Gallery, Image uploader visualizza ora le dimensioni corrette dell'immagine. GitHub-1806
- Verifica del percorso aggiunta al plug-in caricatore
Mediagallery
. In precedenza, la convalida non era riuscita e l'applicazione non importava i prodotti quando Abilita Raccolta vecchi file multimediali era disabilitato. GitHub-30649
-
Magento_Cms::media_gallery
risorse ACL secondarie aggiunte e applicate per la nuova raccolta multimediale per supportare le autorizzazioni configurate per le seguenti operazioni discrete:- Caricare le risorse
- Inserire risorse nel contenuto
- Eliminare risorse
- Creare cartelle
- Eliminare le cartelle. GitHub-1487
- Le stringhe di testo e i nomi delle cartelle della Raccolta multimediale estesa non vengono più ritagliati. In precedenza, l'applicazione visualizzava testo e immagini ritagliati e questo messaggio:
We couldn't find any records
. GitHub-1763, GitHub-1758
- L'applicazione non visualizza più il pulsante Aggiungi selezionati quando non è selezionata alcuna immagine durante la modifica del contenuto per una nuova pagina. GitHub-1769
- I filtri vengono ora applicati come previsto nella griglia categorie Contenuto > Raccolta multimediale. GitHub-1763
- La configurazione delle opzioni per più punti di interruzione della raccolta ora funziona come previsto. In precedenza, la configurazione delle opzioni del punto di interruzione non funzionava correttamente perché
mediaCheck
attivava la funzione di query di uscita dal contenuto multimediale al caricamento della pagina. GitHub-29933
MFTF
- Sostituzione delle azioni ripetitive con gruppi di azioni in
CheckStaticBlocksTest
. GitHub-30561
- È stato eseguito il refactoring di
AdminUpdateCategoryAndMakeInactiveTest
eVerifyChildCategoriesShouldNotIncludeInMenuTest
per rispettare le best practice MFTF. GitHub-30058
- Rimosso
AdminOpenCMSBlocksGridActionGroup
duplicato. GitHub-30896
- Sostituzione di
AdminOpentCmsBlockActionGroup
con AdminOpenCmsBlockActionGroup. GitHub-29839
- Obsoleto
GoToAttributeGridPageActionGroup
. GitHub-30103
- Sono stati aggiunti gruppi di azioni al modulo
Analytics
. GitHub-29500
- Aggiornati
CheckCheckoutSuccessPageAsRegisterCustomerTest
eCheckCheckoutSuccessPageAsGuestTest
per annullare gli ordini creati dopo l'esecuzione dei test. GitHub-28324
- Rimosso
AdminNavigateToPageGridActionGroup
a causa di ridondanza. GitHub-29838
- È stato risolto un problema con
StorefrontProductListWidgetWithSharedCatalogTest
che ha causato l'omissione del test. GitHub-322
- Implementato
ActionGroup
per passare alla pagina di estrazione. GitHub-29843
AdminOpenCreateNewCMSPageActionGroup
ha implementato per passare alla creazione di una nuova pagina CMS. GitHub-29824
- Sono stati risolti i problemi relativi al salto della pagina Test MFTF per CMS per Media Gallery. GitHub-30164
- Titoli e descrizioni significativi sono stati aggiunti ai test MFTF per i moduli
Company
,CompanyCredit
,CompanyPayment
,CompanyShipping
eConfigurableSharedCatalog
. GitHub-30164
Nuovi test
- È stato aggiunto un test per abilitare l’e-mail a un amico nell’Amministratore. GitHub-29145
- È stato aggiunto un test per l’eliminazione di un blocco CMS da una griglia da parte di un amministratore. GitHub-30372
- È stato aggiunto un test per l’applicazione di una regola del carrello acquisti a un singolo elemento del bundle. GitHub-28921
- Sono stati aggiunti test per verificare se le informazioni di In utilizzate per un'immagine di Media Gallery vengono visualizzate dopo l'eliminazione dell'entità. GitHub-1774
Nuovi gruppi di azioni
-
AssertStorefrontCustomerLogoutSuccessPageActionGroup
. GitHub-29841 -
AdminOpenConfigurationStoresPageActionGroup
. GitHub-29848 -
ReloadPageActionGroup
. GitHub-30683 -
StorefrontClickRefundTabCustomerOrderViewActionGroup
. GitHub-30032 -
AdminOpenAdminThreeDSecurePageActionGroup
. GitHub-29845 -
AdminCustomerClickFirstRowEditLinkActionGroup
. GitHub-29501 -
StorefrontClickAddToCartButtonActionGroup
. GitHub-29823 -
AdminDeleteTaxRateActionGroup
. GitHub-29940 -
AdminOpenWebConfigurationPageActionGroup
. GitHub-29846 -
AdminOpenGeneralConfigurationPageActionGroup
. GitHub-29847 -
AdminOrderClickSubmitOrderActionGroup
. GitHub-29649 -
AdminOpenCatalogProductPageActionGroup
. GitHub-29941 -
AdminClickInvoiceButtonIntoOrderActionGroup
. GitHub-25399 -
AdminGridBulkActionGroup
. GitHub-28324 -
AdminGridColumnShowActionGroup
. GitHub-28324 -
AdminOpenIndexManagementPageActionGroup
. GitHub-29825 -
AdminOpenCatalogSearchTermIndexPageActionGroup
. GitHub-29844 -
AdminClickAddProductToggleAndSelectProductTypeActionGroup
. GitHub-30917 -
StorefrontCheckoutClickSaveAddressButtonActionGroup
. GitHub-30916 -
AdminOpenCurrencyRatesPageActionGroup
. GitHub-30783 -
AdminClickGetShippingMethodsAndRatesActionGroup
. GitHub-30782 -
AdminSelectFixedShippingMethodActionGroup
. GitHub-30782 -
StorefrontClickProceedToCheckoutActionGroup
. GitHub-30926 -
StorefrontOpenMyAccountPageActionGroup
. GitHub-29842
Newsletter
- Gli utenti amministratori ora possono modificare un account cliente come previsto quando il cliente è abbonato a una newsletter in coda. GitHub-30645
- L’applicazione ora invia nuovamente la conferma dell’abbonamento alla newsletter se l’acquirente non conferma l’abbonamento alla newsletter. GitHub-28422
- Ora puoi modificare un account cliente come previsto quando il cliente è abbonato a una newsletter in coda. GitHub-30645
Metodi di pagamento
- I metodi di pagamento ora vengono caricati nell’amministratore per tutti i siti web come previsto in una distribuzione multi-store.
- L'applicazione non visualizza più il messaggio
Purchase Order number is a required field
sopra il campo del codice coupon prima che l'acquirente immetta informazioni nelle distribuzioni in cui l'ordine di acquisto è stato configurato come unica opzione di pagamento disponibile.
- L'applicazione ora completa i pagamenti Payflow Pro quando il nome del cliente contiene lettere accentate. In precedenza, il pagamento non era stato completato e l'applicazione aveva registrato questo errore:
report.CRITICAL: String to be escaped was not valid UTF-8 or could not be converted
.
- Gli acquirenti ospiti possono ora effettuare ordini PayPal quando l'assegnazione automatica al gruppo di clienti è abilitata. Il pagamento viene elaborato sul gateway PayPal, l'ordine viene creato in Magento e l'acquirente visualizza la pagina di ringraziamento dell'ordine. In precedenza, l'ordine era stato elaborato correttamente sul gateway PayPal, ma non era stato creato in Adobe Commerce. L'acquirente è stato invece reindirizzato alla pagina di revisione dell'ordine, in cui l'applicazione ha visualizzato l'errore:
Failed address validation: %1" error
. GitHub-25399
PayPal
- Gli esercenti possono ora effettuare un ordine dall’amministratore dopo il passaggio da un metodo di pagamento che utilizza una carta di credito a un metodo di pagamento che non utilizza la carta di credito. In precedenza, quando un commerciante faceva clic sul pulsante Invia ordine, il processo di caricamento veniva avviato ma non veniva mai completato e l'ordine non veniva effettuato.
- L'applicazione non crea più ordini duplicati quando un ordine viene effettuato con PayPal Express. In precedenza, quando un acquirente tentava di pagare un ordine con PayPal Express ma PayPal restituiva un errore, l'applicazione creava comunque l'ordine. Ciò causava la duplicazione degli ordini sul sito del commerciante. GitHub-13952
- I report di liquidazione PayPal sono ora disponibili in Report > Vendite > Liquidazione PayPal come previsto. In precedenza, l'applicazione non elencava questi rapporti nella griglia dei rapporti di liquidazione PayPal e visualizzava questo messaggio:
We couldn't find any records
.
- Facendo clic sul pulsante PayPal durante il pagamento non viene più attivata una chiamata
web-api
ridondante. In precedenza venivano attivate due richieste, che raddoppiavano la spesa per il prodotto.
Prestazioni
- Sono stati risolti i problemi di prestazioni in
module-catalog-import-export/Model/Import/Product/Option.php
. Il tempo necessario per esportare o importare più di 100.000 record è stato ridotto. Vedere l'articolo della Knowledge Base Importazione/Esportazione richiede più tempo del previsto, con numerose opzioni di prodotto.
- È stato eseguito il refactoring di
Magento_Csp/Model/BlockCache
per ridurre sia il consumo di memoria che la generazione di stringhe memorizzate nella cache inutilmente grandi. In precedenza, le pagine che includevano script e stili inseriti nella whitelist in modo dinamico spesso presentavano problemi di prestazioni. GitHub-29964
- Abbiamo migliorato le prestazioni delle esportazioni programmate di cataloghi che includono più di 100.000 prodotti utilizzando i consumatori.
- L’applicazione non svuota più la cache delle categorie quando si aggiunge o si salva un prodotto disabilitato in una categoria. In precedenza, l’applicazione scaricava la cache per le categorie correlate nonostante lo stato del prodotto, influendo sulle prestazioni del server.
- È stato migliorato il tempo di caricamento della pagina per aggiornare la quantità di prodotto nel carrello. In precedenza, l’applicazione eseguiva più query separate per ciascun prodotto nel carrello, il che aumentava il tempo di caricamento delle pagine.
- È stato aggiunto un indicizzatore alla tabella MySQL
Magento_Bulk
, che ha migliorato le prestazioni delle operazioni di massa.
- L’applicazione ora memorizza nella cache gli ID secondari dei prodotti configurabili. Questo ha migliorato le prestazioni di caricamento delle pagine riducendo il numero di richieste del database. GitHub-30585
- Il caricamento del dashboard di amministrazione è stato migliorato. In precedenza, l’applicazione visualizzava i nomi delle schede come un elenco prima del completamento del caricamento della pagina.
- La gestione della cache Redis è stata migliorata aggiungendo limiti di scadenza per le cache di layout. In precedenza, le cache Redis raggiungevano rapidamente la quantità massima di memoria allocata in implementazioni di grandi dimensioni e l’applicazione generava errori nelle operazioni di scrittura.
- Le prestazioni di estrazione sono state migliorate con la rimozione di una query di database ridondante in
app/code/Magento/Catalog/Model/CategoryLink.php
. GitHub-29453
- Refactoring di
Magento\Framework\DB\Adapter\Pdo\Mysql->isTableExists
eseguito per migliorare le prestazioni. Le chiamate ridondanti aSHOW TABLE STATUS
per verificare l'esistenza di una tabella sono state ridotte. GitHub-29662
getPageLayoutsConfig
è ora salvato nella cache, con conseguente miglioramento delle prestazioni del generatore di configurazioni. GitHub-29546
- Sono state migliorate le prestazioni di Adobe Commerce durante le operazioni di modifica e salvataggio per i segmenti dei clienti che contengono più di 3.000.000 clienti.
Persistente
- Gli acquirenti non possono più effettuare un ordine dopo la scadenza del cookie di sessione quando è abilitato il carrello permanente. L’applicazione visualizza invece la pagina di accesso in modo che l’acquirente possa effettuare l’accesso. In precedenza, l’applicazione effettuava l’ordine. L'applicazione non ha convalidato correttamente il cliente persistente quando
PHPSESSID
era scaduto ecustomerSession
è stato ricreato dalle informazioni persistenti.
- L’applicazione ora visualizza il messaggio di benvenuto come previsto dopo che un acquirente accede a un negozio in cui è abilitato il carrello acquisti permanente. In precedenza, l'applicazione visualizzava Non sei tu? messaggio dopo l'accesso.
- L'applicazione non visualizza più Non sei tu? testo quando un cliente seleziona l'opzione Ricorda utente durante l'accesso a una distribuzione in cui è abilitato il carrello acquisti permanente.
- L’applicazione non visualizza più il contenuto del carrello di un cliente dopo la scadenza della sessione clienti. In precedenza, l'applicazione visualizzava questo errore quando un cliente guest tentava di estrarre quando il carrello acquisti persistente era abilitato:
No such entity with cartid = 0
.
Prezzi
- I successivi aggiornamenti asincroni dei prezzi non interferiscono più tra loro e a ogni operazione viene assegnato lo stato corretto. In precedenza, se un aggiornamento asincrono dei prezzi non riusciva, tutti i seguenti aggiornamenti asincroni dei prezzi non riuscivano fino al riavvio del consumatore della coda corrispondente. GitHub-27865
Rapporti
- Rapporti > Marketing > Prodotti nei carrelli visualizza ora solo il record nell'ambito consentito dell'utente che genera il rapporto. In precedenza, tutti i dati erano disponibili per tutti gli ambiti.
- L’applicazione ora utilizza la valuta specificata nell’ambito del ruolo dell’esercente che genera il rapporto quando visualizza la valuta del prodotto nel rapporto Prodotti nel carrello.
- Le funzioni di prodotto Visualizzato di recente e Confrontato di recente ora visualizzano le statistiche per diversi store e siti web nell’Amministratore come previsto in una distribuzione multi-store. In precedenza, queste funzioni non prendevano in considerazione tutti i negozi o i siti web.
- Nei rapporti Ordini ora viene utilizzato il simbolo di valuta corretto.
- L'applicazione ora verifica l'esistenza di un token quando un utente fa clic sul pulsante Dashboard amministratore Vai a report avanzato. Se il token esiste, viene visualizzata la pagina Reporting avanzato. Se il token non è configurato, l’applicazione visualizza una pagina informativa nella Guida utente. GitHub-25411
Restituisci autorizzazioni Merchandising (RMA)
- Le opzioni selezionate ora si applicano agli elementi di riga frazionati quando si fraziona un RMA. In precedenza, i valori per Motivo restituzione, Condizione articolo e Risoluzione non venivano salvati.
- È ora possibile eliminare le informazioni di tracciamento e spedizione per un RMA quando il bundling JavaScript è abilitato.
- Gli amministratori con accesso limitato solo ai prodotti in un ambito specifico del sito Web possono ora aggiungere un elemento a una restituzione anche quando tale elemento non è più nell'ambito del sito Web.
Recensioni
- Il numero di classificazioni visualizzate negli Archivi > Attributo > Classificazione corrisponde ora al numero di classificazioni in una distribuzione multisito. GitHub-30258
- La pagina Nuova revisione ora viene caricata come previsto quando si fa clic sul pulsante Nuova revisione in Admin Marketing > Tutte le revisioni. Facendo clic su un prodotto in questa pagina viene aperto il nuovo modulo di revisione previsto per tale prodotto.
- L'applicazione non genera più questo errore quando si tenta di modificare un ordine da Admin Marketing > Tutte le recensioni:
Uncaught TypeError: Event.observe is not a function
. GitHub-30388
Premi
- I punti premio vengono ora calcolati come previsto per gli ordini imponibili al completamento di un ordine parziale.
- I commercianti possono ora emettere con successo un rimborso parziale per un ordine acquistato con punti premio e successivamente rimborsare il resto dell'ordine. In precedenza, i commercianti non potevano rimborsare i punti premio per il resto dell’ordine.
- L'errore non viene più visualizzato quando un acquirente riapplica punti premio dopo averli rimossi:
You removed the reward points from this order
.
- I punti premio ora vengono calcolati correttamente quando un cliente effettua un ordine utilizzando una valuta non di base in un negozio che supporta più valute.
Vendite
- La colonna
order_created_at
disales_shipment_grid
è ora aggiornata come previsto dopo ogni aggiornamento.
- È ora possibile riordinare un prodotto con una data di opzioni personalizzata da un archivio per il quale è abilitato Usa calendario JavaScript. In precedenza, quando si tentava di riordinare, l'applicazione non aggiungeva l'elemento al carrello e visualizzava questo errore:
Could not add the product with SKU "simp1" to the shopping cart: Please specify date required option(s).
- L'applicazione non chiude più immediatamente un ordine quando un acquirente estrae un ordine costituito da un prodotto virtuale con un costo totale di $0 nelle distribuzioni in cui il metodo di pagamento del subtotale zero è abilitato.
- L’applicazione non archivia più un ordine prima di elaborarlo. In precedenza, l’azione di selezione multipla nella griglia degli ordini amministratore interessava gli ordini non selezionati.
- La griglia della nota di accredito visualizza ora il simbolo di valuta corretto quando il Riyal saudita (SAR) è impostato come valuta di base.
- L'applicazione ora visualizza in modo coerente le informazioni sull'indirizzo di spedizione come previsto nella pagina dell'ordine durante il pagamento.
- Il valore di
total_qty
ora corrisponde al valore ditotal_qty_ordered
nelle fatture di vendita.
- L’invio asincrono di e-mail di vendita ora invia e-mail solo per gli ordini creati dopo la data dell’ultimo aggiornamento. In precedenza, l’applicazione non filtrava le e-mail in base alla data in cui era abilitato l’invio asincrono.
- L’applicazione ora invia l’e-mail di fattura come previsto quando un ordine viene effettuato dall’amministratore.
- L’applicazione ora cancella i dati dell’ordine esistenti durante una sessione quando un esercente crea un nuovo ordine per un cliente dall’Amministratore.
- È ora possibile modificare il gruppo di clienti per i nuovi clienti creati tramite un ordine di amministrazione quando è abilitato Abilita assegnazione automatica al gruppo di clienti. È inoltre possibile assegnare un gruppo di clienti in base alla convalida IVA. In precedenza, durante la convalida del numero di partita IVA, l'oggetto della richiesta non verificava la richiesta assegnata
group_id
. Per impostazione predefinita, è stato utilizzato il valore predefinitogroup_id
.
- L'applicazione non modifica più lo stato di un ordine personalizzato con stato
Suspected Fraud
inProcessing
dopo che un commerciante ha creato una spedizione parziale utilizzando l'API REST.
Regola di vendita
- I codici coupon applicati in base al metodo di spedizione non vengono più applicati quando un acquirente cambia il metodo di spedizione. In precedenza, l’applicazione non cancellava i codici coupon quando gli acquirenti cambiavano metodo di spedizione.
- Gli acquirenti non possono applicare un codice coupon più frequentemente di quanto consentito dall'impostazione Usi per cliente. In precedenza, se un acquirente aveva più finestre del browser aperte e ha effettuato più ordini contemporaneamente, ogni ordine ha ricevuto lo sconto, anche se l'impostazione Utilizzi per cliente aveva un valore di 1.
Ricerca search-heading
- L’Elasticsearch non genera più un errore sconosciuto del modificatore quando un acquirente cerca un sinonimo di ricerca. In precedenza, nell’escape mancava il simbolo della barra di escape nelle espressioni regolari, causando un errore irreversibile.
- La ricerca avanzata non restituisce più gli elementi figlio di prodotti configurabili come singoli risultati di ricerca quando i prodotti secondari sono stati configurati con visibilità impostata su Non visibile singolarmente.
- L’Elasticsearch dei nomi dei prodotti nei risultati della ricerca non fa più distinzione tra maiuscole e minuscole.
- La pagina dei risultati della ricerca viene ora memorizzata nella cache come previsto quando l'impostazione Imposta numero di risultati di ricerca principali da memorizzare nella cache su 0 è abilitata in Admin Stores > Configuration > Catalog > Catalog > Catalog Search.
- L’indicizzatore di ricerca del catalogo ora viene eseguito senza generare un errore a causa del limite del campo di Elasticsearch. In precedenza, l'applicazione ha generato questo errore:
Limit of total fields [xxx] in index [m24dev_product_1_v10] has been exceeded
.
- Sono state migliorate le prestazioni della ricerca nel catalogo. La disattivazione di Abilita suggerimenti di ricerca (Archivi > Configurazione > Catalogo > Ricerca catalogo ) funziona come previsto. In precedenza, l'applicazione eseguiva una query sulla tabella MySQL
search_query
anziché sull'Elasticsearch per i suggerimenti di ricerca per il completamento automatico. GitHub-25534
- Elasticsearch ora filtra i prezzi dei prodotti allo stesso modo di MySQL. Il tipo di campo
price_*
è stato modificato dafloat
adouble
nell'indice Elasticsearch per migliorare la precisione e correggere un errore a virgola mobile.
- È stato aggiunto un listener di eventi di keydown all’amministratore per attivare il modulo di ricerca globale quando viene immessa una barra. GitHub-29551
- L'Elasticsearch non genera più un errore ma non visualizza alcun prodotto come previsto quando viene utilizzato un valore
string
per filtrare i prodotti in base all'attributo con un tipo di back-endinteger
odecimal
. In precedenza, l'applicazione visualizzava questo errore inexception.log
:number format exception
.
-
L'Elasticsearch non genera più un'eccezione quando un termine di ricerca contiene
/
. GitHub-25886, GitHub-25110 -
La ricerca è ora disabilitata come previsto per un gruppo di clienti selezionato dalla query dei prodotti quando è abilitata l'impostazione di configurazione Non consentire la ricerca nel catalogo di nelle autorizzazioni generali per le categorie. GitHub-29927
- I risultati della ricerca non includono più più virgolette multiple della stessa parola. GitHub-30104
Spedizione
- Il processo di pagamento non ha più esito negativo quando un'interruzione di rete interrompe la connessione al metodo di spedizione DHL. Vengono invece visualizzati altri metodi di spedizione disponibili. In precedenza, il processo di pagamento si arrestava quando la connessione alla spedizione DHL veniva interrotta e l'applicazione visualizzava questo errore:
Sorry, no quotes are available for this order at this time
. GitHub-29902
- I campi che descrivono il metodo di consegna UPS in Admin Stores > Configuration > Sales > Delivery Methods sono ora attivati come previsto.
- Le spedizioni create tramite l'endpoint POST
/rest/V1/shipment
ora aggiornano correttamente gli ordini. In precedenza, l'applicazione creava una spedizione, ma lo stato della spedizione rimaneva nello stato di elaborazione.
- L’applicazione non rimuove più i prodotti semplici dal carrello quando un altro prodotto viene rimosso dal carrello prima del pagamento con Spedisci a più indirizzi. GitHub-30259
- Nella pagina Revisione ordine ora viene visualizzato l'importo dell'imposta prima dell'importo di spedizione previsto per gli ordini spediti a più indirizzi.
- Il rilevamento spedizioni UPS ora indica uno stato di
Delivered On
solo quando un pacchetto è stato consegnato. GitHub-30032
- L’applicazione ora visualizza il subtotale del carrello corretto per gli ordini che contengono un prodotto virtuale quando l’acquirente torna al carrello e non effettua l’estrazione con più indirizzi.
- I commercianti possono ora creare un’etichetta di spedizione dalla pagina di spedizione per un ordine esistente che utilizza la spedizione FedEx quando il bundle JavaScript è abilitato. In precedenza, l'applicazione generava un errore quando il commerciante faceva clic sul pulsante Crea etichetta di spedizione.
- Il collegamento di tracciamento della spedizione nell’e-mail di conferma della spedizione inviata ai clienti ora funziona come previsto. In precedenza, questo collegamento restituiva un errore 404.
- L’applicazione ora visualizza un messaggio di errore informativo quando un acquirente effettua il Check-Out utilizzando più indirizzi e successivamente rimuove tutti i prodotti diversi da un prodotto virtuale. GitHub-25595
- Ora puoi creare un’etichetta di spedizione come previsto per un ordine parziale. In precedenza, quando si tentava di creare un'etichetta di spedizione per un solo articolo di un ordine, l'applicazione aggiungeva tutti i prodotti al pacchetto e la convalida non riusciva. GitHub-29552
- La convalida per il metodo di spedizione non viene più ignorata quando si chiama
/V1/guest-carts/:cartId/totals-information
. GitHub-25147
Sitemap
- Le mappe del sito generate da
cron
ora includono URL immagine corretti. In precedenza, il percorso dell’immagine nella cache generata non era corretto nelle distribuzioni multi-store.
Staging
- Nella pagina Modifica home page vengono ora visualizzati tutti gli aggiornamenti pianificati come previsto quando si controlla la disponibilità di aggiornamenti pianificati per la home page. In precedenza, l’applicazione mostrava solo uno dei diversi aggiornamenti pianificati.
- L'invio di 0 con l'endpoint di prezzo speciale
/rest/V1/products/special-price-information
consente ora di salvare il prezzo e di restituire la pianificazione come previsto.
- Le importazioni pianificate ora vengono eseguite come previsto quando il file CSV di importazione contiene un indicatore di ordine dei byte (BOM).
- L’applicazione non rimuove più la classe del corpo del layout quando un esercente pianifica un aggiornamento di categoria.
- Le modifiche al prodotto riprogrammate non vengono più cancellate dopo un'esecuzione di
cron
.
- L'applicazione non genera più un errore quando si tenta di pianificare un aggiornamento per una categoria. In precedenza, l'applicazione aveva generato questo errore quando si faceva clic su Salva nella pagina Pianifica nuovo aggiornamento:
Something went wrong while saving the Magento\Catalog\Api\Data\CategoryInterface
.
- È ora possibile utilizzare l'API
rest/V1/products/special-price
per pianificare i prezzi speciali dei prodotti per più store. In precedenza, l'applicazione generava un errore quando un commerciante pianificava un aggiornamento del prezzo per più negozi per la stessafrom
eto
volta quando era disponibile un rollback all'ora di inizio della nuova pianificazione.
Archivia
- Il selettore principale e quello dell’amministratore ora riflettono le modifiche apportate al criterio di ordinamento del negozio nell’amministratore. GitHub-13401
- L’applicazione ora crea URL corretti per categorie e prodotti dopo aver modificato la chiave URL di primo livello di una visualizzazione store. In precedenza, quando la struttura di categorie di una visualizzazione archivio conteneva
url_keys
modificato, se la chiave di una categoria non veniva modificata ma quella principale della categoria, il codice originale utilizzava la visualizzazione archivio predefinita della categoria durante la creazione degli URL. GitHub-28633
Regole di destinazione
- Il caricamento delle pagine dei dettagli prodotto è stato ottimizzato. Sono stati aggiunti indici per le tabelle del database che ottimizzano le query delle condizioni delle regole di destinazione per molti casi.
- Le regole di destinazione per i prodotti correlati ora funzionano quando la condizione
is one of
utilizzata per la funzione Products to Display contiene più condizioni. In precedenza, quando questa condizione conteneva più valori, non veniva analizzata.
Imposta
- La convalida dell'IVA su un ordine guest non comporta più il salvataggio del preventivo da parte dell'applicazione con una classe imposta cliente errata. GitHub-30018
- Gli ordini spediti a più indirizzi possono ora essere salvati durante il pagamento quando è configurato FPT. In precedenza, dopo aver completato un ordine per più indirizzi, l’applicazione visualizzava una pagina vuota invece della pagina di successo dell’ordine.
- Le pagine dei dettagli dei prodotti nei negozi ora visualizzano i prezzi vecchi e nuovi con e senza imposte come previsto. GitHub-27500, GitHub-11998
Test
bin/magento dev:tests:run
avvia ora i seguenti test come previsto: all, unit, integration, integration-all, static, static-all, integrity, legacy e default.
- Refactoring di
AdminMediaGalleryInsertLargeImageFileSizeTest
eseguito.
- Gli unit test sono ora compatibili con PHPUnit 8. GitHub-29779
\Magento\TestFramework\TestCase\WebapiAbstract
contiene ora una funzione che supporta il confronto di grandi array nidificati di risultati previsti ed effettivi nei test. Le chiavi non rilevanti nel risultato ora possono essere ignorate. GitHub-29498
AdminMediaGalleryCatalogUiEditCategoryGridPageTest
non genera più errori in modo casuale. GitHub-1764
dev/tests/integration/testsuite/Magento/Customer/Controller/AccountTest
è stato migliorato. (assert
è ora basato sul selettoreXPath
invece diassertStringContainsString
.) GitHub-29700
- È stata aggiunta la copertura dei test per il modulo
AdminAnalytics
. GitHub-29500
- I test funzionali di integrazione e API sono ora compatibili con PHPUnit 9.3. GitHub-30146
- Sono stati risolti i problemi relativi al test GraphQL
testRequestCacheTagsForCategoryListOnMultipleIds
. GitHub-29372
- Il test di disponibilità della valuta per il credito aziendale è stato automatizzato.
- I valori di intestazione che includono gli URL vengono ora analizzati correttamente in
ApiFunctional TestFramewor
k. GitHub-26425
—no-tablespaces
è stato aggiunto a tutte le occorrenze dimysqldump
, che consente l'esecuzione degli integration test senza il privilegioPROCESS
(richiesto dal momento che MySQL 5.7.31 / 8.0.21 per eseguiremysqldump
per impostazione predefinita). GitHub-30566
Tema
- È stato aggiunto un nuovo flag
--no-parent
al comandobin/magento setup:static-content:deploy
che impedisce la compilazione degli elementi padre di un tema. Questo nuovo flag consente di migliorare in modo significativo le prestazioni del processo di distribuzione dei contenuti statici evitando la compilazione non necessaria. Questo nuovo flag non funziona quando si utilizza la strategiacompact
. GitHub-30184
- La configurazione della progettazione non genera più operazioni DDL. In precedenza, quando la configurazione di progettazione veniva aggiornata, l’applicazione generava istruzioni DDL che potevano attivare errori MySQL.
- Il codice ridondante nel modulo
Magento_ConfigurableProduct
nel tema di amministrazione è stato rimosso. GitHub-29857
- Sono state rimosse la navigazione ridondante con meno stili e le proprietà non utilizzate nel tema Vuoto. GitHub-29914
- È stata aggiunta la funzionalità di navigazione comprimibile al tema Vuoto nella vista per dispositivi mobili. GitHub-30237
- Il caricamento dei caratteri web per i temi è stato ottimizzato. GitHub-29526
- Gli sviluppatori possono ora specificare il tipo di carattere quando dichiarano un carattere personalizzato in un tema. GitHub-29719
Traduzione e lingue
- Il selettore data della griglia Ordini amministratore ora funziona come previsto quando le impostazioni locali amministratore sono in lingua araba (
ar_SA - Saudi Arabia
).
- L'applicazione non visualizza più un messaggio di errore quando un acquirente immette un indirizzo argentino con un codice postale valido al momento della registrazione o dell'aggiunta di un nuovo indirizzo. In precedenza, l'applicazione visualizzava questo errore:
Provided Zip/Postal Code seems to be invalid. Example: 1234. If you believe it is the right one you can ignore this notice.
- L’applicazione non genera più un errore quando un acquirente immette un codice postale di cinque cifre per un indirizzo coreano.
- Aggiunto supporto per le aree dell'Uruguay definite in ISO 3166-2:UY. GitHub-29729
zip_codes.xml
è stato aggiornato per applicare otto cifre ai codici postali brasiliani. GitHub-29984
- È stata migliorata la localizzazione delle restanti frasi non localizzate. GitHub-11175
- È ora possibile convertire il segnaposto di input per la ricerca nella griglia. GitHub-30510
- L’applicazione ora scarica i moduli JavaScript di traduzione in linea solo quando sono abilitati. GitHub-29553
UI
- Il pulsante Crea account nella pagina Crea nuovo account rimane attivo quando un acquirente immette dati non validi. In precedenza, questo pulsante era disabilitato e impediva agli acquirenti di ritentare la creazione di un account dopo aver commesso un errore. Si è verificato un problema noto in 2.4.1. GitHub-30513
- È stato migliorato il caricamento della griglia di spedizione nella pagina Modifica ordine amministratore.
- L'applicazione ora visualizza la casella di controllo Come indirizzo fatturazione come previsto nella pagina dell'ordine quando i prodotti sono stati aggiunti al carrello da SKU.
- La classe CSS che ha definito la larghezza limitata viene ora applicata come previsto ai campi dell'Ora inizio in Admin Store > Configuration > Catalog > XML Sitemap > Generation Settings. GitHub-29496
- Sono stati risolti i problemi di visualizzazione con l’etichetta della casella di controllo Termini e condizioni. GitHub-24060
- L’applicazione non visualizza più il codice CSS per un blocco di prezzo livello nella pagina del prodotto quando i prezzi livello non sono disponibili. GitHub-29194
- La posizione dei pulsanti nella pagina dei dettagli di visualizzazione delle immagini è stata riordinata in base alle linee guida dell’interfaccia utente. GitHub-1783
- Il campo di testo del codice coupon viene ora visualizzato nella larghezza corretta nei browser Internet Explorer/EDGE.
- La variabile
@button__border-radius
è ora definita nella librerialib/web/css/source/lib/variables/_buttons.less
.border-radius
ha un valore predefinito di3px
. In precedenza,border-radius
era hardcoded. GitHub-28674
- Il pulsante Invia ricerca (lente di ingrandimento) nel campo di ricerca mini è ora disattivato fino a quando non viene raggiunta la lunghezza minima della stringa di ricerca. GitHub-29704
- Il pulsante Anteprima modello ora funziona come previsto nella pagina Modifica coda.
- È stata corretta la posizione del cursore dal centro all'inizio del campo Messaggio in Account personale > Registro regali > Condividi registro regali.
- Sono stati risolti i problemi relativi alla visualizzazione del layout delle colonne nella pagina Aggiungi esportazione pianificata.
- L'applicazione ora mantiene il valore di un attributo quando lo si sposta da un gruppo all'altro.
- L'applicazione visualizza ora un'icona del calendario accanto al campo di input Data come previsto nella pagina di creazione di un account.
- Aggiunta di una variabile relativa allo spessore del carattere a
lib/web/css/source/lib/variables/_typography.less
. GitHub-29778
- La visibilità dei filtri ora funziona con la visibilità delle colonne prevista nelle griglie di amministrazione. GitHub-30345
- Il banner visualizzato dall’applicazione nella pagina Accesso amministratore come cliente ora rimane nella parte superiore della pagina quando l’utente scorre. GitHub-29354
- Le opzioni di selezione del componente dell'interfaccia utente non sono più visibili quando è impostato
this.disabled(true)
. GitHub-29098
- La variabile
@font-family-name__base
non viene più utilizzata durante il caricamento del font Open Sans. GitHub-29515
- L'attributo WAI-ARIA
aria-atomic="true"
è stato aggiunto al tag contenitore degli errori. GitHub-29560
- Ora le griglie dei componenti dell’interfaccia utente visualizzano un conteggio accurato degli elementi selezionati. In precedenza, le griglie indicavano un numero errato di selezioni quando una ricerca per parola chiave selezionava tutti gli elementi della griglia e l’acquirente successivamente deselezionava alcuni elementi prima di selezionare la casella di controllo dell’intestazione. GitHub-29968
- L'applicazione non visualizza più il HTML non sottoposto a rendering nelle pagine di panoramica delle fatture e delle spedizioni. GitHub-29958
- Facendo clic su Opzioni nell'Admin Stores > Currency Rates, gli utenti verranno indirizzati alla sezione delle opzioni di valuta espansa della pagina Configurazione di sistema. GitHub-29336
- È stato migliorato il supporto per la visualizzazione di un widget a seconda di un'altra condizione per i widget
adminhtml
quando si utilizza un tipo di widget selettore. GitHub-13316, GitHub-7252, GitHub-6868
- È stata migliorata la spaziatura del testo nelle finestre di dialogo a comparsa di conferma nel tema Luma. GitHub-30452
Vault
- Il modulo
Vault
ora riconosce i codici del metodo di pagamento dalla richiesta per il servizio di gestione delle informazioni sui pagamenti. In precedenza, quando un acquirente effettuava un ordine utilizzando una carta di credito Braintree salvata, l'applicazione generava questo errore anche quando veniva utilizzato un metodo di pagamento valido:The requested Payment Method is not available
.
Vertice
-
I suggerimenti di indirizzo vengono ora rimossi come previsto quando un indirizzo viene modificato.
-
È stata risolta una situazione di tipo "race condition" che impediva ad alcuni clienti di salvare il proprio indirizzo nel pannello dell’account.
-
La convalida degli indirizzi verticali non aggiunge più la pagina Modifica indirizzo alla cache di pagina intera in determinate condizioni.
-
L'imposta calcolata verticalmente viene ora considerata quando la spedizione gratuita è configurata per un importo comprensivo di imposta.
Framework API web
- È ora possibile utilizzare POST
V1/invoice/:invoiceId/refund
per rimborsare una fattura con una quantità di prodotti pari a zero e spese di spedizione pari a zero (ad esempio,{"items": [{"qty": 0, "orderItemId": 6, "extensionAttributes": {}}], "appendComment": false, "notify": true, "isOnline": true, "arguments": {"adjustment_negative": 0.0, "adjustment_positive": 0.99, "shipping_amount": 0}}.
). In precedenza, l'applicazione aveva generato questo errore:You can't create a creditmemo without products
. GitHub-23069
- È ora possibile utilizzare POST
V1/categories
per creare o aggiornare una categoria. In precedenza, l'applicazione non salvava il valore se il valoredefault_sort_by
era impostato come array. Quando il valoredefault_sort_by
è stato impostato come stringa, l'applicazione ha generato questo errore:Error occurred during \"custom_attributes\" processing. Attribute \"default_sort_by\" has invalid value. The \"string\" value's type is invalid. The \"string[]\" type was expected. Verify and try again.
- L'utilizzo di POST
V1/invoices/:id/capture
per acquisire informazioni sui pagamenti ora funziona come previsto. In precedenza, l'applicazione autorizzava l'ordine ma lo acquisiva solo sul sito del gateway di pagamento.
- Quando si utilizza POST
V1/order/:orderId/ship
per creare una spedizione parziale, l'endpoint restituisce il numero corretto di prodotti spediti.
- Le fatture create con POST
V1/order/:orderID/invoice
ora riflettono con precisione il pagamento parziale in base al credito del punto vendita. In precedenza, quando un ordine veniva parzialmente pagato con il credito del negozio, la fattura veniva creata senza tenere conto del credito del negozio.
- Le chiamate di GET
rest/all/V1/categories
e GETrest/all/V1/categories?rootCategoryId=2
ora restituiscono campi popolatiname
eproduct_count
come previsto per tutte le categorie nella struttura. In precedenza, i valori dei campi categoria erano vuoti. Il plug-in resolver dei nomi di tabella ha restituito un nome di tabella errato per recuperare il numero di prodotti per categoria.
- L'endpoint PUT
V1/categories/:id
ora memorizza i dati necessari per la creazione di reindirizzamenti 301 per le chiavi URL di categoria quando viene fornito l'attributo personalizzatosave_rewrites_history
. GitHub-29174, GitHub-30240
Lista dei desideri
- Gli acquirenti possono ora aggiungere un prodotto a una lista dei desideri quando il prodotto viene assegnato a un’origine di inventario personalizzata. GitHub-3018
- Ora gli amministratori possono accedere alla pagina Gestisci carrello dalla pagina del cliente Amministratore dopo che un cliente ha aggiunto un prodotto alla propria lista dei desideri dalla vetrina. In precedenza, l'applicazione mostrava il seguente errore quando l'amministratore faceva clic sul pulsante Gestisci carrello:
An error has occurred. See error log for details
.
- Il pulsante Aggiungi al carrello nella pagina della lista dei desideri condivisa ora funziona come previsto per utenti anonimi, ospiti e non connessi.
- Gli acquirenti possono ora spostare con successo un prodotto da una lista dei desideri a un’altra.
- Ora nella pagina della lista dei desideri vengono visualizzate le opzioni di attributo del prodotto configurabili selezionate, come previsto. GitHub-24091, GitHub-22503
- Implementato
ActionInterface
per\Magento\Wishlist\Controller\Shared\Allcart
. GitHub-29537
Problemi noti
Problema: il file [magento_root]/index.php
è stato rimosso e l'applicazione ora viene eseguita da /pub
per impostazione predefinita per le configurazioni Apache. Gli archivi gestiti da sottocartelle non funzioneranno come previsto e potrebbero visualizzare errori 404. Soluzione: utilizzare i collegamenti simbolici per emulare l'installazione nelle sottocartelle. Nell'esempio seguente vengono utilizzati due archivi (https://shop01.com/shop/
e https://shop02.com/shop/
) per illustrare come utilizzare un collegamento simbolico per emulare un'installazione nelle sottocartelle.
-
Creare una sottodirectory per
https://shop01.com/shop/
:code language-bash mkdir magento_root/pub/shop01
code language-bash cd magento_root/pub/shop01
-
Creare collegamenti simbolici per le directory principali dell'archivio nella directory appena creata:
code language-bash ln -s ../media media
code language-bash ln -s ../static static
code language-bash ln -s ../../../pub pub
code language-bash ln -s ../.htaccess .htaccess
code language-bash ln -s ../health_check.php health_check.php
-
Creare un file
index.php
nella nuova directory (magento_root/pub/shop01/index.php
) e aggiungere il seguente contenuto:
<?php
require realpath(__DIR__) . '/../../../app/bootstrap.php';
switch ($_SERVER['HTTP_HOST']) {
case 'shop01.com':
case 'www.shop01.com':
$params = $_SERVER;
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'shop01';
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
$app = $bootstrap->createApplication(\Magento\Framework\App\Http::class);
$bootstrap->run($app);
break;
default:
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
/** @var \Magento\Framework\App\Http $app */
$app = $bootstrap->createApplication(\Magento\Framework\App\Http::class);
$bootstrap->run($app);
break;
}
- Configura il server Apache in modo che punti alla nuova sottodirectory. Le configurazioni di distribuzione possono variare notevolmente. Ecco un esempio di configurazione del server:
<VirtualHost *:80>
DocumentRoot "magento_root/pub/shop1"
ServerName shop01.com
</VirtualHost>
Problema: i commercianti devono attivare la funzionalità Fastly Force TLS dall'amministratore per abilitare il reindirizzamento globale da HTTP a HTTPS per tutte le pagine dello store. Vedere l'articolo della Knowledge Base Reindirizza HTTP a HTTPS per tutte le pagine di Cloud (Force TLS).
Problema: non è possibile utilizzare la mutazione GraphQL addConfigurableProductToCart
per aggiungere un prodotto configurabile a un carrello in una visualizzazione archivio non predefinita in una distribuzione multi-store che esegue Inventory. (Le vetrine Luma non sono interessate) l'applicazione visualizza questo errore: Could not add item to cart. Please check required options and try again
. Soluzione alternativa: utilizzare la mutazione addProductsToCart
. GitHub-31660
Problema: l'applicazione non invia le informazioni sul pagamento come previsto quando un acquirente inserisce per la prima volta un codice corretto nel campo CAPTCHA della pagina Pagamento ma visualizza questo errore: There has been an error processing your request
. Ciò si verifica solo quando l’acquirente tenta di effettuare l’ordine senza immettere il codice CAPTCHA o immettendolo in modo errato. Soluzione: aggiorna la pagina.
Problema: l'applicazione crea un ordine nella Braintree come previsto quando un acquirente fa clic su Paga con Venmo, ma non crea l'ordine nell'amministratore. Soluzione: nessuna. Vedi il 2.4.2 problema noto: Braintree pagamento Venmo non funziona Articolo della Knowledge Base.
Problemi noti B2B
Problema: gli acquirenti B2B possono utilizzare i metodi di pagamento online per aggirare il flusso abituale degli ordini di acquisto. Questo scenario può verificarsi se l'acquirente può ridurre l'intero totale di pagamento a 0, ad esempio tramite un codice promozionale o una gift card, e successivamente rimuovere il codice o la gift card. Anche in queste condizioni, l’ordine viene comunque effettuato per l’importo corretto in base ai prezzi degli articoli nel catalogo assegnato. Soluzione: disabilitare le carte regalo e i codici coupon quando i metodi di pagamento online sono abilitati per l'approvazione dell'ordine fornitore.
Problema: gli acquirenti vengono reindirizzati al carrello quando tentano di effettuare un ordine da un ordine di acquisto utilizzando PayPal Express Checkout quando Modalità in contesto è disabilitata.
Problema: talvolta l'applicazione visualizza un errore 404 quando un acquirente crea un ordine di acquisto e poi passa alla pagina di pagamento. Questo errore si verifica quando un acquirente ha creato in precedenza un ordine di acquisto diverso con un metodo di pagamento online prima di passare alla pagina di pagamento senza completare l'acquisto precedente. L'acquirente può comunque effettuare l'ordine di acquisto. Soluzione: nessuna.
Problema: gli sconti per un metodo di pagamento specifico persistono durante l'acquisto di un ordine di acquisto anche quando l'acquirente modifica il metodo di pagamento durante l'ultimo pagamento. Di conseguenza, i clienti potrebbero ricevere uno sconto a cui non hanno diritto. Ciò si verifica perché una regola del carrello per il metodo di pagamento originale viene ancora applicata nonostante la modifica del metodo di pagamento. Soluzione: nessuna. Vedere l'articolo 2.4.2 B2B noto: lo sconto rimane per gli ordini di acquisto online dopo la modifica del metodo di pagamento della Knowledge Base.
Problema: la query deleteRequisitionListOutput
restituisce dettagli sull'elenco delle richieste di acquisto eliminato anziché sugli elenchi di richieste rimanenti.
Contributi comunitari
Siamo grati alla comunità del Magento Open Source e desideriamo riconoscere il loro contributo a questa versione.
Il team di progettazione della community collaboratori Magento mantiene un elenco dei principali collaboratori e partner per mese, trimestre e anno. Dalla pagina Collaboratori, puoi seguire i collegamenti alle loro PR unite su GitHub.
Contributi dei partner
Nella tabella seguente vengono evidenziati i contributi dei partner. Questa tabella elenca il Partner che ha contribuito alla richiesta di pull, la 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 le richieste pull esterne, il numero del problema GitHub associato (se disponibile) e il membro della community che ha contribuito alla richiesta pull.
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.2 utilizzando Composer.
Kit di strumenti di migrazione
Lo strumento di migrazione dei dati consente di trasferire i dati archiviati dal Magento 1.x al Magento 2.x. Questa interfaccia della riga di comando include funzioni di verifica, monitoraggio dell'avanzamento, registrazione e test. Per istruzioni sull'installazione, vedere Installare lo strumento di migrazione dei dati. Esplorare o contribuire all'archivio di migrazione dei dati.
Code Migration Toolkit consente di trasferire le estensioni e le personalizzazioni dell'archivio di Magento 1.x esistenti nel Magento 2.x. L'interfaccia della riga di comando include script per la conversione di moduli e layout Magento 1.x.