Caratteristiche principali di Magento Open Source 2.4.6
In questa versione, cerca le seguenti aree di rilievo.
Miglioramenti di sicurezza
Questa versione include otto correzioni di sicurezza e miglioramenti di sicurezza della piattaforma.
Ad oggi non si sono verificati attacchi confermati relativi a questi problemi. Tuttavia, alcune vulnerabilità possono potenzialmente essere sfruttate per accedere alle informazioni dei clienti o assumere il controllo delle sessioni dell’amministratore. La maggior parte di questi problemi richiede che un utente malintenzionato ottenga prima l’accesso all’amministratore. Di conseguenza, ti ricordiamo di adottare tutte le misure necessarie per proteggere il tuo amministratore, incluse, ma non solo, queste iniziative:
- INSERIRE NELL'ELENCO CONSENTITI IP
- autenticazione a due fattori
- utilizzo di una VPN
- utilizzo di una posizione univoca anziché
/admin
- corretta igiene della password
Per le ultime discussioni su questi problemi risolti, consulta il Bollettino sulla sicurezza di Adobe.
Ulteriori miglioramenti della sicurezza
Miglioramenti di sicurezza per questa versione migliorano la conformità con le best practice più recenti, tra cui:
-
Le lacune nei registri delle azioni dell’amministratore sono state risolte con controlli più specifici delle azioni all’interno delle visualizzazioni griglia, delle azioni di massa e delle esportazioni.
-
La convalida reCAPTCHA non ha più esito negativo durante l’estrazione in caso di errori imprevisti durante l’elaborazione dei pagamenti. GitHub-35093
-
Nuova configurazione di sistema per richiedere la conferma e-mail quando un utente amministratore modifica la propria e-mail. Per ridurre la vulnerabilità del sito, è stata aggiunta una nuova impostazione di configurazione del sistema (disabilitata per impostazione predefinita) per richiedere la conferma e-mail quando un utente amministratore modifica la propria e-mail: Stores > Settings:Configuration > Customers > Customer Configuration > Account Information Options > Require email confirmation if an email has been changed. Quando questa opzione è abilitata, l’applicazione richiede la conferma e-mail ogni volta che l’utente amministratore modifica il proprio indirizzo e-mail. Il seguente modulo è interessato da questa modifica:
Magento_Customer
.
Miglioramenti alla piattaforma
Magento Open Source 2.4.6 introduce il supporto per PHP 8.2. Il PHP 8.1 rimane completamente supportato.
Il supporto di PHP 7.4 è stato rimosso da questa versione. Non è possibile eseguire Magento Open Source 2.4.6 su PHP 7.4.
Magento Open Source ora supporta:
-
Compositore 2.2.x. Compositore 1.x è stato rimosso.
-
Redis 7.0.x. Sebbene la compatibilità con Redis 6.2 rimanga, si consiglia di distribuire questa versione con Redis 7.0.x perché Redis 6.2 dovrebbe terminare nel 2024.
-
OpenSearch è ora supportato come motore di ricerca predefinito per le distribuzioni Magento Open Source on-premise e cloud. È supportato come motore di ricerca indipendente per Magento Open Source. Questa versione supporta OpenSearch v2.x ed è stata testata con OpenSearch 2.5. Sebbene la compatibilità con OpenSearch 1.x rimanga, si consiglia di utilizzare questa versione con OpenSearch 2.x. È possibile installare ed eseguire Magento Open Source e Magento Open Source 2.4.6 con OpenSearch 2.x in Prerequisiti del motore di ricerca sia per il cloud che per il locale.
-
Elasticsearch 8.x. Vedere Aggiornare Elasticsearch.
-
MariaDB 10.6 (versione LTS). Questa versione è ancora compatibile con MariaDB 10.4, ma si consiglia di eseguire l'aggiornamento a MariaDB 10.6.
Altri aggiornamenti e sostituzioni
-
Migrazione dello schema DHL da v6.2 a v10.0.
-
Le librerie JavaScript obsolete sono state aggiornate alle versioni più recenti e le dipendenze obsolete sono state rimosse. Queste modifiche sono compatibili con le versioni precedenti.
-
La compatibilità PHP 7.4 è stata rimossa dalle basi di codice di Commerce e Magento Open Source.
-
Le dipendenze di Symfony sono state aggiornate alla nuova versione LTS. Le dipendenze includono:
friendsofphp/php-cs-fixer
symfony/console
symfony/event-dispatcher
symfony/finder
symfony/process
web-token/jwt-framework
-
jquery-migrate
è stato rimosso dalle basi di codice di Commerce e Magento Open Source. GitHub-21406 -
Libreria
jQuery/fileUpload
aggiornata alla versione v10.32. -
I componenti Zend framework (ZF1) che hanno raggiunto la fine del ciclo di vita sono stati rimossi dalla base di codice. Vedi Modifiche non compatibili con le versioni precedenti in evidenza.
-
Le dipendenze Laminas sono state aggiornate per supportare PHP 8.2.
-
Il plug-in del Compositore
laminas/laminas-dependency-plugin
è stato rimosso. GitHub-36515 -
Sostituzione di
Zend_Filter
conlaminas/laminas-filter
. -
Aggiornamento di
web-token/jwt-framework
alla versione v3.0.5. (versione più recente) -
Aggiornamento di
allure-framework/allure-phpunit
a v2.x. -
Aggiornamento della libreria
Chart-js
alla versione v3.9.1
Aggiornamenti all’accessibilità
L’obiettivo di questa versione è stato quello di creare un’esperienza di vetrina su Venia (PWA) più percepibile, utilizzabile, comprensibile e solida. Questi miglioramenti includono:
- L'etichetta di testo visivo per il pulsante Sign in ora corrisponde al relativo nome accessibile. È consigliabile che il nome accessibile di un elemento dell’interfaccia utente inizi con il testo dell’etichetta visibile.
- Nomi descrittivi accessibili sono stati aggiunti ai pulsanti in tutta la vetrina.
- Sono state aggiunte etichette descrittive verbali alle caselle di controllo Has Video nei filtri di ricerca.
- Gli utenti che utilizzano solo la tastiera possono ora accedere a tutte le funzionalità della pagina nella vetrina. In precedenza, gli acquirenti non potevano accedere ai collegamenti di navigazione secondaria utilizzando solo la pressione dei tasti.
Integrazione di Adobe Commerce con Adobe IMS
I seguenti moduli Adobe IMS sono stati disaccoppiati dal codice core di Adobe Commerce e Magento Open Source e ora sono inclusi in un pacchetto come metapacchetto separato:
adobe-ims
adobe-ims-api
admin-adobe-ims
La nuova versione 2.2.0 di adobe-ims-metapackage
è inclusa in Adobe Commerce 2.4.6 e Magento Open Source 2.4.6. Nessuna funzionalità è stata modificata in questa versione.
Braintree
- Il pulsante Pay Later e i banner (messaggi) per Italia e Spagna sono stati abilitati per Braintree.
- La messaggistica PayLater con PayPal Vault è stata abilitata.
- Sono stati aggiunti gli hook web di Protezione dalle frodi e ACH. Il web hook di protezione contro le frodi viene attivato quando una decisione di rischio è stata presa in Braintree. Il Web hook ACH viene attivato quando lo stato di un pagamento ACH viene aggiornato a
settled
osettlement decline
.
- È stato aggiunto l'hook Web LPM (Local Payment Methods).
GraphQL
I miglioramenti delle prestazioni di GraphQL includono:
È stato migliorato il tempo di risposta durante l'esecuzione di query sulle categorie per le quali sono abilitate le autorizzazioni per le categorie. I tempi di risposta sono migliorati quando si eseguono query su prodotti in categorie per le quali sono abilitate le autorizzazioni per le categorie e che contengono molti gruppi di clienti o cataloghi condivisi. Le modifiche al codice che supportano questo miglioramento delle prestazioni includono:
- L'operazione del resolver GraphQL è stata ottimizzata.
- Il provider di dati non reimposta più i dati memorizzati nella cache di runtime per ogni nuovo prodotto in fase di elaborazione, migliorando così le prestazioni.
- L’elaborazione delle autorizzazioni del prodotto è stata ottimizzata nel resolver GraphQL. Le autorizzazioni per i prodotti ora vengono applicate alle raccolte di prodotti anziché in base ai singoli prodotti.
- Le autorizzazioni ottimizzate vengono lette nei cataloghi condivisi nella mutazione
addProductsToCart
. - Le autorizzazioni del prodotto sono state ottimizzate con frammenti in linea del prodotto.
Prestazioni ottimizzate per il rendering della struttura delle categorie. La query categoryList
è stata ottimizzata per supportare clienti con un numero elevato di categorie. I commercianti che utilizzano questa query per cercare più di 1500 categorie con fino a cinque livelli di sottocategorie nidificate noteranno un miglioramento delle prestazioni. Il caricamento degli elementi figlio delle categorie tramite il codice di refactoring è stato migliorato rimuovendo le chiamate ai metodi non necessarie, migliorando la memorizzazione nella cache della struttura delle categorie e caricando i dati delle categorie in modo ricorsivo. Le modifiche al codice che supportano questo miglioramento delle prestazioni includono:
- È stato migliorato il recupero dei metadati degli attributi personalizzati per i modelli di categoria.
- Il recupero dell'ID categoria è stato migliorato e le chiamate
getChildren
sono state ridotte. - Il caricamento degli elementi figlio della categoria è stato migliorato.
Tempi di risposta ridotti per le query delle operazioni bulk cart. Le mutazioni di aggiungi prodotto sono state ottimizzate per migliorare le prestazioni delle query aggiungendo fino a 500 prodotti semplici e configurabili. I prodotti bundle non subiscono modifiche. Le mutazioni ottimizzate includono addProductsToCart
, addConfigurableProductsToCart
, addDownloadableProductsToCart
, addSimpleProductsToCart
, addVirtualProductsToCart
,addWishlistItemsToCart
e updateCartItems
.
la query del cliente ora supporta l'ordinamento degli ordini. L'oggetto di output orders
della query customer
ora contiene un campo di ordinamento. È ora possibile ordinare gli ordini in base al numero di ordine o alla data di creazione e in ordine crescente o decrescente.
Nuove mutazioni:
deleteCustomer
Page Builder
Page Builder v.1.7.3 è compatibile con Magento Open Source 2.4.6.
PWA Studio
PWA Studio v.13.0.x è compatibile con Magento Open Source 2.4.6. Include diversi miglioramenti per migliorare l’accessibilità. Per informazioni sulle correzioni di bug, vedi Versioni di PWA Studio. Per un elenco delle versioni di PWA Studio e delle relative versioni di base compatibili con Adobe Commerce, consulta Compatibilità delle versioni.
Problema noto
Problema: New Relic non è attualmente compatibile con PHP 8.2. Le implementazioni che eseguono New Relic possono eseguire Adobe Commerce 2.4.6 su PHP 8.1 ma non su PHP 8.2. Soluzione: eseguire Adobe Commerce 2.4.6 su PHP 8.1 fino a quando non verrà rilasciata una nuova versione di New Relic che supporta PHP 8.2. Questa versione è prevista per l’estate 2023.
Problemi risolti
Sono stati risolti centinaia di problemi nel codice core di Magento Open Source 2.4.6.
Installazione, aggiornamento, distribuzione
- L’implementazione di contenuti statici non si interrompe più per timeout o non riesce durante le distribuzioni standard o compatte con più impostazioni internazionali e siti web.
- La strategia compatta non causa più un riferimento non valido a un dominio esterno durante l'esecuzione della distribuzione di contenuto statico (
bin/magento set:static-content:deploy -f --strategy compact
).
- L'esecuzione di
bin/magento setup:di:compile -vvv
(o con le opzioni-v
o-vv
) ora restituisce un messaggio informativo sull'errore. GitHub-35391
- Magento Open Source non genera più la seguente eccezione quando si esegue il comando
bin/magento setup:upgrade
in una distribuzione che esegue già lo strumento di migrazione dati:PHP Fatal error: Declaration of Migration\Logger\Logger::addRecord(int $level, string $message, array $context = []): bool must be compatible with Monolog\Logger::addRecord(int $level, string $message, array $context = [], ?Monolog\DateTimeImmutable $datetime = null): bool in /var/www/html/vendor/magento/data-migration-tool/src/Migration/Logger/Logger.php on line 34
. GitHub-35604
- Il comando
bin/magento setup:db:status
non ha più esito negativo negli ambienti che eseguono MySQL 8.0.29. In precedenza, l’output del comando indicava erroneamente che lo schema dichiarativo era obsoleto. GitHub-35671
- Il comando
composer install
non sovrascrive più.gitignore
file. GitHub-32888
- L'esecuzione di
bin/magento sampledata:remove
per rimuovere i dati di esempio dopo l'aggiornamento su Alpine Linux non ha più esito negativo con questo errore:Undefined constant "MagentoHackathon\Composer\Magento\Deploystrategy\GLOB_BRACE
. GitHub-36062
bin/magento setup:upgrade
ora viene eseguito correttamente dopo la prima esecuzione dicomposer install --no-dev
. GitHub-36351
- Le eccezioni e le voci di traccia dello stack delle eccezioni sono ora incluse in
var/log/exception.log
. GitHub-36054
Magento Open Source ora genera un errore di convalida del parametro quando si utilizza la riga di comando per impostare una connessione Redis senza password.
Accessibilità
- I pulsanti Proceed to Checkout, Review Order e Place Order nel flusso di lavoro di estrazione ora funzionano come previsto con l'input da tastiera.
- L'indicazione visiva dello stato attivo sui pulsanti quando si utilizza TAB o SHIFT + TAB per spostarsi tra i controlli pagina ora funziona come previsto.
Lettori di schermo
- L'utilità di lettura dello schermo per la pagina della cronologia degli ordini legge ora la descrizione corretta dell'immagine.
Gli assistenti vocali ora annunciano:
- Numero totale di elementi trovati nei risultati di ricerca come previsto
- Nome dell'utente connesso quando un utente effettua correttamente l'accesso utilizzando i controlli della tastiera
- L'intestazione della pagina dei risultati della ricerca dei prodotti ora legge il valore corretto per l'elemento di tipo
<title>
- Indica se i campi di input sono obbligatori
- Correggere lo stato corrente degli elementi del Pannello a soffietto (compresso ed espanso)
- Quando il contenuto della pagina è stato aggiornato dopo che l'utente ha fatto clic sul pulsante Create an account
Prodotti bundle
- L’aggiornamento del prodotto bundle tramite API per una visualizzazione store specifica ora non esclude altri dati di visualizzazioni store per lo stesso prodotto bundle. In precedenza, i titoli delle opzioni dei prodotti bundle venivano sostituiti con il primo titolo dell’opzione per altre visualizzazioni dello store.
- I prodotti in bundle possono ora essere filtrati dall'amministratore Catalog > Products quando si utilizza una lingua olandese. In precedenza, Magento Open Source visualizzava questo errore quando si tentava di filtrare in base a
Type: Bundle Product
:Something went wrong with processing the default view and we have restored the filter to its original state
. GitHub-35704
- La griglia prodotti non genera più un’eccezione quando i prodotti bundle hanno un prezzo speciale che supera i 1000. In precedenza, quando si effettuava la ricerca del prodotto per SKU o si passava a Catalog > Products, Magento Open Source generava questo errore:
Non Numeric value encountered
. GitHub-36284)
- Le colonne nella nota di accredito e nei PDF delle fatture per gli ordini che contengono una combinazione di bundle e prodotti semplici ora vengono riprodotte correttamente. In precedenza, le colonne risultavano distorte o non allineate.
- Nelle query GraphQL che contengono un frammento
BundleProduct
, l'oggettoitems.options.product
contiene i dati come previsto. In precedenza, l’oggetto poteva essere nullo in alcune circostanze.
- Le quantità decimali per le opzioni del bundle ora vengono riprodotte correttamente quando Quantity uses decimals è abilitato. In precedenza, veniva eseguito il rendering solo della parte intera della quantità, non del componente frazionario. Ad esempio, è stata riprodotta una quantità di 1,5 come 1,0. GitHub-35964
- Le query sui prodotti GraphQL ora restituiscono solo le opzioni dei prodotti del bundle nell’ambito dello store su cui viene eseguita la query.
- I prodotti non assegnati a categorie, ma che sono opzioni di prodotto per prodotti bundle o raggruppati, ora vengono restituiti nelle risposte quando l'impostazione di configurazione Allow Category Browsing è abilitata per il cliente che invia la query.
Cache
- La cache a pagina intera non viene più scaricata dopo l’evasione dell’ordine a meno che il prodotto ordinato non sia esaurito. In precedenza, la cache veniva eliminata per la categoria ogni volta che veniva creata una spedizione.
- I dati vengono ora memorizzati correttamente quando la cache L2 è configurata e i dati remoti vengono parzialmente eliminati. In precedenza, dopo lo scaricamento solo della cache di dati senza hash di tali dati, la nuova cache non veniva salvata mentre esistevano gli hash di dati.
- Sono stati corretti i difetti in
CatalogUrlResolverIdentity
eCmsUrlResolverIdentity
che impedivano il caching. Ciò interessava la memorizzazione nella cache delle query di route su più richieste.
Carrello e pagamento
- Gli acquirenti possono ora aggiungere un articolo aggiuntivo al carrello quando il carrello contiene la quantità minima del prodotto semplice.
- Le chiamate REST API per il recupero dei dati del carrello ora restituiscono gli stessi valori
grand_total
ebase_grand_total
quando la valuta di archiviazione e la valuta di base sono uguali. GitHub-34649
- Il valore esportato di Maximum Qty Allowed in Shopping Cart ora corrisponde al valore predefinito impostato nell'impostazione di configurazione Admin.
- Magento Open Source ora calcola correttamente il totale complessivo per i rimborsi di ordini con uno sconto per la spedizione.
- Google reCAPTCHA ora funziona come previsto per gli ordini in vetrina. In precedenza, Magento Open Source visualizzava questi errori quando Google ReCAPTCHA non era selezionato per la prima volta prima che un acquirente tentasse di effettuare un ordine:
ReCaptcha validation failed, please try again
eNo such cart with id = ID
.
- L’aggiornamento dell’immagine CAPTCHA ora rispetta l’impostazione di configurazione Admin e non viene attivato quando l’impostazione è disabilitata. In precedenza, l’aggiornamento veniva attivato ogni volta che il metodo di pagamento cambiava, indipendentemente dal fatto che l’impostazione fosse abilitata o disabilitata. GitHub-34855
- Magento Open Source ora visualizza una finestra a comparsa di conferma come previsto prima di reindirizzare un acquirente alla pagina successiva quando cambia la quantità di prodotto nella pagina del carrello senza aggiornare il carrello, quindi tenta di passare alla pagina successiva.
- Gli acquirenti possono ora diminuire la quantità di un prodotto dal carrello dopo che è stato diminuito nell’amministratore. In precedenza, Magento Open Source ha generato il seguente errore quando un acquirente ha tentato di ridurre la quantità di prodotto:
The requested qty is not available
. GitHub-35780
- Magento Open Source non genera più un errore nella console JavaScript quando la quantità di prodotto supera il massimo configurato durante il pagamento con spedizione multipla. Al contrario, Magento Open Source visualizza ora un messaggio di errore informativo. GitHub-36184
- La quantità dell'articolo sulla pagina del carrello non viene più rappresentata come numero negativo quando un acquirente utilizza il tasto freccia giù sulla tastiera per modificare la quantità del prodotto. GitHub-36299
- Gli acquirenti non possono più aggiungere al carrello un prodotto di una categoria che non è più consentita dopo aver cambiato il gruppo di clienti a cui appartiene l’acquirente. Magento Open Source ora controlla l’accesso delle autorizzazioni del gruppo di clienti per specifiche categorie quando vengono modificate le impostazioni di configurazione delle autorizzazioni.
- I carrelli acquisti dei clienti non vengono più svuotati prima della creazione dell’ordine da parte dell’amministratore e il contenuto del carrello viene ora ripristinato se l’ordine viene annullato o abbandonato. Gli elementi vengono ora rimossi dal carrello solo dopo la creazione dell’ordine. In precedenza, ogni volta che un utente amministratore tentava di creare un ordine nella pagina Admin Manage Shopping Cart (Gestisci carrello acquisti), il carrello veniva svuotato.
- Il mini carrello visualizza ora le immagini del prodotto corrette dopo l'esecuzione di
bin/magento catalog:image:resize
. In precedenza, tutte le immagini venivano sostituite dall’immagine segnaposto del prodotto predefinita. GitHub-35535
- Il pagamento può essere completato correttamente se l'indirizzo di spedizione contiene un attributo di estensione. In precedenza, Magento Open Source ha generato questo errore:
Object of class Magento\Quote\Api\Data\AddressExtension could not be converted to string
. GitHub-34202
- La mutazione
addBundleProductsToCart
non aggiunge più prodotti a un preventivo se un'opzione di prodotto richiesta non ha valore. GitHub-25676
- Magento Open Source ora restituisce un messaggio informativo quando una mutazione
addProductsToCart
non riesce quando si aggiunge al carrello un prodotto con autorizzazioni insufficienti.
- Magento Open Source non genera più un errore nella pagina del carrello quando si utilizza l’ordine rapido per aggiungere un prodotto in una quantità che supera le scorte disponibili.
Regola prezzo carrello
- Le opzioni di spedizione gratuita della regola del prezzo del carrello impostate durante la creazione della regola ora vengono applicate agli ordini come previsto. In precedenza, le opzioni di spedizione gratuita applicate durante la creazione della regola venivano ignorate durante il pagamento e la spedizione gratuita non era consentita al momento dell’applicazione della regola. GitHub-35013
- La colonna
discount_percent
della tabellasales_order_item
per un prodotto ora viene compilata come previsto con la percentuale di sconto quando la quantità di sconto dell'articolo non è impostata o è maggiore o uguale alla quantità dell'articolo dell'ordine. In precedenza, questa colonna non veniva compilata quando si applicava una regola di prezzo del carrello a questo prodotto.
Catalogo
- Il widget elenco prodotti non visualizza più prezzi errati o memorizzati nella cache per un acquirente registrato. Il prezzo visualizzato nel widget della home page ora corrisponde all'indirizzo del cliente e viene aggiornato quando il cliente aggiorna l'indirizzo. In precedenza, la cache del browser non aggiornava i prezzi dei prodotti nella home page in base alle regole fiscali del gruppo di clienti.
- La funzione Confronta prodotti ora funziona correttamente in una distribuzione multisito e dipende dal sito Web.
- Magento Open Source non visualizza più i dati della pagina precedente quando ricarichi una pagina dei dettagli di un prodotto. In precedenza, quando la pagina dei dettagli del prodotto veniva ricaricata, i dati della prima scheda venivano uniti ai dati appena caricati per un secondo diviso.
- Le categorie con sottocategorie possono ora essere espanse nel menu principale sui dispositivi mobili come previsto. In precedenza, gli acquirenti non potevano aprire o espandere le categorie con sottocategorie nelle distribuzioni per dispositivi mobili. GitHub-35329
- Gli elenchi delle categorie ora vengono aggiornati come previsto quando un prodotto viene assegnato a un nuovo sito Web o store. In precedenza, l'indicizzatore del prezzo del prodotto non era contrassegnato come non valido e successivamente è stato riattivato in un'esecuzione
cron
come previsto. Di conseguenza, l’inserimento del prezzo del prodotto non era presente nella tabella dell’indice dei prezzi e non veniva visualizzato nel nuovo negozio o sito web.
- Il conteggio dell'inventario storefront è ora accurato quando l'impostazione di configurazione Display Out of Stock Products è abilitata. GitHub-35899
- La pagina della categoria non è più vuota quando l'impostazione Allow All Products Per Page è abilitata. GitHub-35900
- L'opzione di configurazione Display Out of Stock Products ora funziona come previsto quando è abilitata. In precedenza, tutti i prodotti venivano visualizzati come esauriti nella vetrina quando questa opzione era abilitata in Amministrazione. GitHub-35898
- L’ordinamento dei prodotti in base agli attributi booleani ora funziona come previsto. GitHub-36390
- Gli sconti della regola del prezzo di catalogo non vengono più applicati alle opzioni di prodotto personalizzate a prezzo fisso, ma solo al prezzo originale del prodotto.
- Le regole del prezzo di catalogo ora tengono conto dell’ambito selezionato e vengono applicate ai prodotti solo per i siti web per i quali l’attributo ha un valore di opzione che corrisponde alla regola. In precedenza, la regola non teneva conto dell’ambito selezionato nelle distribuzioni multisito. GitHub-36049
- Gli attributi di colore e dimensione delle opzioni dei campioni ora sono preselezionati nella pagina dei dettagli del prodotto quando un acquirente modifica il prodotto configurabile dalla pagina Il mio carrello. (jQuery 3.x supporta ora il nome del widget
swatchRenderer
, che ora è Camel Case.) In precedenza, l’opzione campione non era preselezionata.
- Ora i clienti vengono avvisati del calo dei prezzi dei prodotti quando il cliente è abbonato all’avviso di calo dei prezzi. In precedenza, le notifiche di calo dei prezzi non venivano sempre inviate a causa del caching a livello di applicazione.
- Le regole del catalogo basate su SKU con la condizione is not one of ora funzionano come previsto.
- Magento Open Source non presuppone più erroneamente che una categoria sia la categoria padre di un’altra in base al percorso della categoria. In precedenza, quando due categorie erano adiacenti e un ID di categoria inizia con l’ID di categoria di un’altra categoria, Adobe Commerce presupponeva che le categorie avessero la stessa categoria principale. GitHub-32464
Prodotti configurabili
- Magento Open Source non genera più un errore quando un utente amministratore aggiunge manualmente prodotti a un prodotto configurabile a cui sono già assegnati molti prodotti semplici. In precedenza, Magento Open Source visualizzava questo errore:
Something went wrong with processing the default view and we have restored the filter to its original state
.
- Gli acquirenti non possono più aggiungere al carrello prodotti configurabili con una quantità vendibile pari a 0 nelle distribuzioni con ordini arretrati disabilitati. Magento Open Source ora indica che il prodotto è esaurito. GitHub-35319
- La creazione di un nuovo prodotto mediante l’importazione di un prodotto configurabile con molte opzioni da una diversa visualizzazione dello store ora genera una copia esatta del primo prodotto come previsto. In precedenza, l’ordinamento delle opzioni configurabili del nuovo prodotto era errato e i titoli non venivano tradotti nelle impostazioni locali della nuova visualizzazione store in implementazioni con più visualizzazioni store e impostazioni locali. GitHub-35200
- I prodotti configurabili con tutti i prodotti secondari esauriti vengono ora visualizzati come esauriti sul vetrina.
- Ora gli SKU di prodotto configurabili e i nomi dei prodotti vengono visualizzati con precisione. In precedenza, nomi e SKU venivano visualizzati come non definiti dopo lo spostamento di un gruppo di attributi al di sopra del gruppo Dettagli prodotto in Stores > Attribute set. GitHub-36309
Coupon
- È stata aggiunta una logica di convalida al flusso di lavoro Gestisci codici coupon per applicare le impostazioni del codice coupon durante la generazione dei coupon. In precedenza, la generazione del codice coupon ignorava l'impostazione Code Length quando il valore Quantità coupon era maggiore di 2500.
- I punti premio vengono ora aggiunti al conto di un cliente come previsto quando viene applicato un buono sconto durante il pagamento con il metodo di pagamento PayPal Express.
- Ora puoi applicare un codice coupon durante la creazione dell’ordine di amministrazione quando la regola del prezzo del carrello ha come condizione il peso. In precedenza, i codici coupon non venivano impostati se non venivano selezionati altri campi per il prodotto. GitHub-36271
- Ora puoi filtrare i rapporti coupon per più regole di prezzo del carrello. GitHub-36272
- Le opzioni personalizzate vengono ora applicate e salvate quando un utente amministratore preme Enter durante la configurazione di un prodotto con opzioni personalizzate. In precedenza era possibile selezionare le opzioni e aggiungere il prodotto a un ordine, ma le opzioni non venivano salvate e all’utente amministratore veniva richiesto di selezionare nuovamente le opzioni del prodotto. GitHub-35284
- I codici coupon possono ora essere esportati correttamente in Excel XML. In precedenza, il file generato non conteneva tutti i codici coupon selezionati, ma solo tutti gli elementi selezionati nel selettore elementi per pagina.GitHub-36073
cron
- Il processo cron
catalog_index_refresh_price
ora viene eseguito correttamente. In precedenza, Magento Open Source registrava questo errore durante l'esecuzione cron:report.ERROR: Cron Job catalog_index_refresh_price has an error: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
.
Valuta
- È stato aggiunto uno spazio mancante tra i simboli di valuta personalizzati e i prezzi dei prodotti sia in vetrina che in Admin. Sono state aggiunte la condizione appropriata e l’espressione regex per consentire un NBSP personalizzato nei simboli di valuta. Ad esempio, IDRx 105.00 è stato visualizzato in precedenza come IDRx105.00.
- Magento Open Source non invia più e-mail duplicate di un cliente dopo la creazione di un ordine dall’amministratore.
- Le e-mail degli ordini di amministrazione non vengono più inviate quando l'impostazione Email order confirmation è disabilitata. GitHub-36256
- Le opzioni immagine non vengono più visualizzate come markup HTML nella nota di credito, nella conferma dell'ordine e nelle e-mail del cliente della fattura (modello predefinito) per i prodotti con opzioni personalizzate.
Framework
- Gli utenti Admin possono ora aprire correttamente la pagina Admin Store > Configuration quando nessun paese nell'impostazione European Union Countries (Stores > Configuration > General > Country options > European Union Countries). In precedenza, quando un utente amministratore tentava di aprire la pagina, Magento Open Source generava questo errore:
TypeError: explode(): Argument #2 ($string) must be of type string, null given in /var/www/php/folder/vendor/magento/module-config/ViewModel/CountryFilter.php:46
. GitHub-35901
jquery.cookie
dipendenze ora funzionano come previsto con le dipendenze di JavaScript. In precedenza non era possibile utilizzare alias perjquery/jquery.cookie
. GitHub-35913
- Il comando
bin/magento i18n:collect-phrases
ora include<title>
testo nel file CSV esportato. GitHub-35462
Magento\Framework\Code\Reader\ArgumentsReader::getParentCall()
ora supporta gli argomenti del costruttore denominato. È ora possibile chiamare una funzione impostando i parametri in base al loro nome.
- Gli errori vengono ora registrati come previsto nel file
exception.log
. In precedenza, anche se nel filesystem.log
venivano registrati errori, invar/log/exception.log
non venivano registrati errori.
- I commercianti ora possono specificare un provider SMTP esterno personalizzato. GitHub-26104
- È ora possibile autorizzare nuovamente le integrazioni OAuth, come previsto, nelle implementazioni che eseguono Magento Open Source 2.4.3-p2. Precedentemente, la riautorizzazione non è riuscita con questo errore:
The attempt to post data to consumer failed due to an unexpected error. Please try again later
. Magento Open Source ha inoltre tentato di decrittografare i valori non crittografati. GitHub-35313
- Il parametro
rowId
corretto viene ora passato quando la categoriaurlKey
viene salvata per le categorie con categorie figlio. In precedenza,categoryId
errato veniva passato durante il salvataggio della categoriaURLKey
.
- Il codice attributo prodotto
event
è stato aggiunto all'elenco dei codici attributo prodotto riservati. In questo modo vengono eliminati gli errori associati all'utilizzo di un attributo con questo nome nella vetrina. In precedenza, l'applicazione aveva generato questo errore nelle pagine dei dettagli del prodotto e di ricerca/elenco prodotti quando veniva utilizzatoevent
:report.CRITICAL: Error: Call to a member function getStatus() on string in /home/mer33515/public_html/ee24develop/magento2ee/app/code/Magento/CatalogEvent/Observer/ApplyIsSalableToProduct.php:23
.
- I messaggi di errore di convalida della vetrina che si verificano durante il posizionamento dell'ordine ora vengono visualizzati in modo coerente. In precedenza, i messaggi venivano visualizzati, compressi e quindi rivisualizzati. GitHub-35651
- I consumatori AMQP non hanno più esito negativo a causa di una funzione
trim()
obsoleta nelle distribuzioni che eseguono PHP 8.1. In precedenza, quando il consumer AMQP veniva avviato dopo l'installazione, Magento Open Source generava questo errore:Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string is deprecated in .../vendor/magento/framework-amqp/Config.php on line 143
. GitHub-35380
- Il metodo
getFilteredTimerIds
ora funziona come previsto. La classeMagento\Framework\Profiler\Driver\Standard\Stat
è ora compatibile con PHP 8.1. In precedenza, Magento Open Source generava un’eccezione durante la chiamata di questo metodo. GitHub-35307
- È stata rimossa la dipendenza dalla libreria
imagemin-svgo
.
- Il processo del modello di minimizzazione ora elabora correttamente i commenti consecutivi quando il primo commento inizia con
//
. GitHub-34880
- È stata corretta una query del database emessa dal modulo
BundleGraphQl
che ha restituito questo errore:"debugMessage": "Notice: Undefined offset: 16 in vendor/magento/module-bundle-graph-ql/Model/Resolver/Options/Collection.php on line 130"
.GitHub-34991