Note sulla versione di Adobe Commerce 2.4.6

Adobe Commerce 2.4.6 introduce il supporto per PHP 8.2. PHP 8.1 rimane completamente supportato, ma il supporto per PHP 7.4 è stato rimosso. Include miglioramenti significativi a livello di prestazioni e scalabilità. Le operazioni GraphQL per le operazioni bulk cart e la risposta di rendering della struttura delle categorie sono state ottimizzate. Questa versione introduce il metapacchetto dell’estensione Adobe Commerce.

Questa versione include oltre 300 correzioni e miglioramenti di qualità. Le dipendenze del Compositore core e le librerie di terze parti sono state aggiornate alle versioni più recenti compatibili con PHP 8.2.

NOTE
Le versioni di Adobe Commerce possono contenere modifiche non compatibili con le versioni precedenti (BIC). Per rivedere le modifiche non compatibili con le versioni precedenti, vedere Riferimento BIC. I principali problemi non compatibili con le versioni precedenti sono descritti in Elementi di rilievo BIC. Non tutte le versioni introducono i principali BIC.

Altre informazioni sulla versione

Anche se il codice per queste funzioni è incluso con le versioni del codice core di Adobe Commerce, molti di questi progetti (ad esempio, B2B, Page Builder e Progressive Web Application (PWA) Studio) vengono rilasciati in modo indipendente. Le correzioni di bug per questi progetti sono documentate nelle informazioni sulla versione specifiche per il progetto, disponibili nella documentazione di ciascun progetto.

Caratteristiche principali di Adobe Commerce 2.4.6

In questa versione, cerca le seguenti aree di rilievo.

Miglioramenti di sicurezza

Questa versione include otto correzioni di sicurezza e miglioramenti di sicurezza della piattaforma.

Ad oggi non si sono verificati attacchi confermati relativi a questi problemi. Tuttavia, alcune vulnerabilità possono potenzialmente essere sfruttate per accedere alle informazioni dei clienti o assumere il controllo delle sessioni dell’amministratore. La maggior parte di questi problemi richiede che un utente malintenzionato ottenga prima l’accesso all’amministratore. Di conseguenza, ti ricordiamo di adottare tutte le misure necessarie per proteggere il tuo amministratore, incluse, ma non solo, queste iniziative:

  • INSERIRE NELL'ELENCO CONSENTITI IP
  • Autenticazione a due fattori
  • Utilizzo di una VPN
  • Utilizzo di una posizione univoca anziché /admin
  • Buona igiene della password

Per le ultime discussioni su questi problemi risolti, consulta il Bollettino sulla sicurezza di Adobe.

Ulteriori miglioramenti della sicurezza

Miglioramenti di sicurezza per questa versione migliorano la conformità con le best practice più recenti, tra cui:

  • Le lacune nei registri delle azioni dell’amministratore sono state risolte con controlli più specifici delle azioni all’interno delle visualizzazioni griglia, delle azioni di massa e delle esportazioni.

  • La convalida reCAPTCHA non ha più esito negativo durante l’estrazione in caso di errori imprevisti durante l’elaborazione dei pagamenti. GitHub-35093

  • Nuova configurazione di sistema per richiedere la conferma e-mail quando un utente amministratore modifica la propria e-mail. Per ridurre la vulnerabilità del sito, è stata aggiunta una nuova impostazione di configurazione del sistema (disabilitata per impostazione predefinita) per richiedere la conferma e-mail quando un utente amministratore modifica la propria e-mail: Stores > Settings:Configuration > Customers > Customer Configuration > Account Information Options > Require email confirmation if an email has been changed. Quando questa opzione è abilitata, l’applicazione richiede la conferma e-mail ogni volta che l’utente amministratore modifica il proprio indirizzo e-mail. Il seguente modulo è interessato da questa modifica: Magento_Customer.

Miglioramenti alla piattaforma

Adobe Commerce 2.4.6 introduce il supporto per PHP 8.2. Il PHP 8.1 rimane completamente supportato.

Il supporto di PHP 7.4 è stato rimosso da questa versione. Non è possibile eseguire Adobe Commerce 2.4.6 su PHP 7.4.

Adobe Commerce 2.4.6 ora supporta:

  • Compositore 2.2.x. Compositore 1.x è stato rimosso.

  • Redis 7.0.x. Sebbene la compatibilità con Redis 6.2 rimanga, si consiglia di distribuire questa versione con Redis 7.0.x perché Redis 6.2 dovrebbe terminare nel 2024.

  • OpenSearch è ora supportato come motore di ricerca predefinito per le distribuzioni Adobe Commerce on-premise e cloud. È supportato come motore di ricerca indipendente per il Magento Open Source. Questa versione supporta OpenSearch v2.x ed è stata testata con OpenSearch 2.5. Sebbene la compatibilità con OpenSearch 1.x rimanga, si consiglia di utilizzare questa versione con OpenSearch 2.x. Puoi installare ed eseguire Adobe Commerce e Magento Open Source 2.4.6 con OpenSearch 2.x sia su Cloud che on-premise Prerequisiti per i motori di ricerca.

  • Elasticsearch 8.x. Vedere Elasticsearch aggiornamento.

  • MariaDB 10.6 (versione LTS). Questa versione è ancora compatibile con MariaDB 10.4, ma si consiglia di eseguire l'aggiornamento a MariaDB 10.6.

Altri aggiornamenti e sostituzioni

  • Migrazione dello schema DHL da v6.2 a v10.0.

  • Le librerie JavaScript obsolete sono state aggiornate alle versioni più recenti e le dipendenze obsolete sono state rimosse. Queste modifiche sono compatibili con le versioni precedenti.

  • La compatibilità PHP 7.4 è stata rimossa dal codebase di Commerce.

  • Le dipendenze di Symfony sono state aggiornate alla nuova versione LTS. Le dipendenze includono:

    • friendsofphp/php-cs-fixer
    • symfony/console
    • symfony/event-dispatcher
    • symfony/finder
    • symfony/process
    • web-token/jwt-framework
  • jquery-migrate è stato rimosso dalla base di codice di Commerce. GitHub-21406

  • Libreria jQuery/fileUpload aggiornata alla versione v10.32.

  • I componenti Zend framework (ZF1) che hanno raggiunto la fine del ciclo di vita sono stati rimossi dalla base di codice. Vedi Modifiche non compatibili con le versioni precedenti in evidenza.

  • Le dipendenze Laminas sono state aggiornate per supportare PHP 8.2.

  • Il plug-in del Compositore laminas/laminas-dependency-plugin è stato rimosso. GitHub-36515

  • Sostituzione di Zend_Filter con laminas/laminas-filter.

  • Aggiornamento di web-token/jwt-framework alla versione v3.0.5. (versione più recente)

  • Aggiornamento di allure-framework/allure-phpunit a v2.x.

  • Aggiornamento della libreria Chart-js alla versione v3.9.1

Miglioramenti a livello di prestazioni e scalabilità

  • Prestazioni migliorate per le operazioni che interessano molti segmenti di clienti. Gli esercenti possono migliorare le prestazioni delle operazioni che coinvolgono più di 100 segmenti di clienti abilitando una nuova impostazione di configurazione. L'impostazione Real-time Check if Customer is Matched by Segment può essere disabilitata in base alle esigenze per ridurre i tempi di elaborazione riducendo la convalida di ogni segmento del cliente rispetto ai clienti. Consulta Convalida dei segmenti cliente.

  • Nuova impostazione di configurazione del sistema per limitare il numero di prodotti visualizzati nella griglia prodotti. I commercianti possono utilizzare la nuova impostazione di configurazione Limit Number of Products in Grid per migliorare le prestazioni della griglia di prodotti. Questo limite è configurato per 20000 per impostazione predefinita e influisce solo sulle raccolte di prodotti utilizzate dai componenti dell’interfaccia utente. Limitare il numero di prodotti visualizzati può migliorare le prestazioni delle operazioni per le griglie popolate da più di 200.000 prodotti. Vedi Limita il numero di prodotti nella griglia

  • Migliori prestazioni di importazione (fino a 100.000 record al minuto). I commercianti possono utilizzare il nuovo endpoint REST API POST /rest/<store_view_code>/V1/import/csv per importare dati in Adobe Commerce. Questo endpoint offre le stesse funzionalità della funzione di importazione Amministratore e supporta l’utilizzo di un file CSV per creare, aggiornare e rimuovere prodotti, prezzi di prodotto ed entità cliente. Vedi Importa dati.

  • Sono state migliorate le prestazioni di elaborazione degli ordini ad alta velocità tramite il bilanciamento del carico. I clienti Adobe Commerce 2.4.6 su infrastrutture cloud che hanno un volume elevato di ordini simultanei (1000 ordini al minuto) possono ora migliorare le prestazioni di elaborazione degli ordini bilanciando il carico sul database tra nodi diversi. I commercianti possono ribilanciare questo carico abilitando connessioni secondarie per il database MySQL e le istanze Redis. Consulta Elaborazione ordine ad alta velocità

Metapacchetto dell’estensione Adobe Commerce

Questa versione introduce il metapackage di estensione Adobe Commerce v1.1.0, che raggruppa automaticamente con questa versione di base alcune estensioni Adobe Commerce. Le versioni di queste estensioni incluse in questo metapackage vengono installate durante l'esecuzione di composer update, semplificando il processo di aggiornamento di tali estensioni quando si esegue l'aggiornamento alla versione di base più recente. Queste estensioni manterranno comunque pianificazioni di rilascio indipendenti.

Il metapacchetto dell’estensione Adobe Commerce per Adobe Commerce 2.4.6 include le due estensioni seguenti:

Le versioni future di questo metapacchetto di estensione conterranno estensioni aggiuntive.

Eventi di Adobe I/O per Adobe Commerce

Adobe I/O Events for Adobe Commerce acquisisce gli eventi Commerce e trasferisce i dati da Adobe Commerce ad altri Adobe. Gli sviluppatori possono creare in Adobe Developer App Builder app native per il cloud per abbonarsi a eventi Commerce come aggiornamenti dell’inventario, modifiche allo stato degli ordini e aggiornamenti dei prezzi. Gli sviluppatori possono utilizzare questa funzionalità per scambiare dati per l'orchestrazione dell'intero percorso di acquirenti nei propri sistemi mission-critical.

Aggiornamenti all’accessibilità

L’obiettivo di questa versione è stato quello di creare un’esperienza di vetrina su Venia (PWA) più percepibile, utilizzabile, comprensibile e solida. Questi miglioramenti includono:

  • L'etichetta di testo visivo per il pulsante Sign in ora corrisponde al relativo nome accessibile. È consigliabile che il nome accessibile di un elemento dell’interfaccia utente inizi con il testo dell’etichetta visibile.
  • Nomi descrittivi accessibili sono stati aggiunti ai pulsanti in tutta la vetrina.
  • Sono state aggiunte etichette descrittive verbali alle caselle di controllo Has Video nei filtri di ricerca.
  • Gli utenti che utilizzano solo la tastiera possono ora accedere a tutte le funzionalità della pagina nella vetrina. In precedenza, gli acquirenti non potevano accedere ai collegamenti di navigazione secondaria utilizzando solo la pressione dei tasti.

Integrazione di Adobe Commerce con Adobe IMS

I seguenti moduli Adobe IMS sono stati disaccoppiati dal codice core di Adobe Commerce 2.4.6 e sono ora inclusi come metapacchetto separato:

  • adobe-ims
  • adobe-ims-api
  • admin-adobe-ims

La nuova versione 2.2.0 di adobe-ims-metapackage è inclusa in Adobe Commerce 2.4.6. Nessuna funzionalità è stata modificata in questa versione.

B2B

La funzione Ordini di acquisto per società è ora completamente esposta dall’API di GraphQL. Questa versione introduce due schemi GraphQL:

  • Lo schema GraphQL dell’ordine di acquisto copre l’utente dell’azienda B2B Funzionalità di acquisto di Order Management come la creazione, la modifica e l’eliminazione degli ordini di acquisto. Vedi Ordini di acquisto (B2B).
  • Lo schema GraphQL delle regole dell’ordine di acquisto consente di creare, modificare ed eliminare le regole di approvazione e di convalidare manualmente gli ordini di acquisto. Consulta Regole di approvazione ordini fornitore (B2B).

Questa versione include più correzioni di bug. Consulta Note sulla versione B2B.

Braintree

  • Il pulsante Pay Later e i banner (messaggi) per Italia e Spagna sono stati abilitati per la Braintree.
  • La messaggistica PayLater con PayPal Vault è stata abilitata.
  • Sono stati aggiunti gli hook web di Protezione dalle frodi e ACH. Il web hook di protezione dalle frodi viene attivato quando una decisione relativa ai rischi è stata presa in Braintree. Il Web hook ACH viene attivato quando lo stato di un pagamento ACH viene aggiornato a settled o settlement decline.
  • È stato aggiunto l'hook Web LPM (Local Payment Methods).

GraphQL

I miglioramenti delle prestazioni di GraphQL includono:

È stato migliorato il tempo di risposta durante l'esecuzione di query sulle categorie per le quali sono abilitate le autorizzazioni per le categorie. I tempi di risposta sono migliorati quando si eseguono query su prodotti in categorie per le quali sono abilitate le autorizzazioni per le categorie e che contengono molti gruppi di clienti o cataloghi condivisi. Le modifiche al codice che supportano questo miglioramento delle prestazioni includono:

  • L'operazione del resolver GraphQL è stata ottimizzata.
  • Il provider di dati non reimposta più i dati memorizzati nella cache di runtime per ogni nuovo prodotto in fase di elaborazione, migliorando così le prestazioni.
  • L’elaborazione delle autorizzazioni del prodotto è stata ottimizzata nel resolver GraphQL. Le autorizzazioni per i prodotti ora vengono applicate alle raccolte di prodotti anziché in base ai singoli prodotti.
  • Le autorizzazioni ottimizzate vengono lette nei cataloghi condivisi nella mutazione addProductsToCart.
  • Le autorizzazioni del prodotto sono state ottimizzate con frammenti in linea del prodotto.

Prestazioni ottimizzate per il rendering della struttura delle categorie. La query categoryList è stata ottimizzata per supportare clienti con un numero elevato di categorie. I commercianti che utilizzano questa query per cercare più di 1500 categorie con fino a cinque livelli di sottocategorie nidificate noteranno un miglioramento delle prestazioni. Il caricamento degli elementi figlio delle categorie tramite il codice di refactoring è stato migliorato rimuovendo le chiamate ai metodi non necessarie, migliorando la memorizzazione nella cache della struttura delle categorie e caricando i dati delle categorie in modo ricorsivo. Le modifiche al codice che supportano questo miglioramento delle prestazioni includono:

  • È stato migliorato il recupero dei metadati degli attributi personalizzati per i modelli di categoria.
  • Il recupero dell'ID categoria è stato migliorato e le chiamate getChildren sono state ridotte.
  • Il caricamento degli elementi figlio della categoria è stato migliorato.

Tempi di risposta ridotti per le query delle operazioni bulk cart. Le mutazioni di aggiungi prodotto sono state ottimizzate per migliorare le prestazioni delle query aggiungendo fino a 500 prodotti semplici e configurabili. I prodotti bundle non subiscono modifiche. Le mutazioni ottimizzate includono addProductsToCart, addConfigurableProductsToCart, addDownloadableProductsToCart, addSimpleProductsToCart, addVirtualProductsToCart,addWishlistItemsToCart e updateCartItems.

la query del cliente ora supporta l'ordinamento degli ordini. L'oggetto di output orders della query customer ora contiene un campo di ordinamento. È ora possibile ordinare gli ordini in base al numero di ordine o alla data di creazione e in ordine crescente o decrescente.

Nuove mutazioni:

deleteCustomer

Page Builder

Page Builder v.1.7.3 è compatibile con Adobe Commerce 2.4.6.

PWA Studio

PWA Studio v.13.0.x è compatibile con Adobe Commerce 2.4.6. Include diversi miglioramenti per migliorare l’accessibilità. Per informazioni sulle correzioni di bug, vedi Versioni di PWA Studio. Consulta Compatibilità della versione per un elenco delle versioni di PWA Studio e delle relative versioni di base compatibili di Adobe Commerce.

Problema noto

Problema: New Relic non è attualmente compatibile con PHP 8.2. Le implementazioni che eseguono New Relic possono eseguire Adobe Commerce 2.4.6 su PHP 8.1 ma non su PHP 8.2. Soluzione: eseguire Adobe Commerce 2.4.6 su PHP 8.1 fino a quando non verrà rilasciata una nuova versione di New Relic che supporta PHP 8.2. Questa versione è prevista per l’estate 2023.

Problemi risolti

Sono stati risolti centinaia di problemi relativi al codice core di Adobe Commerce 2.4.6. Di seguito è descritto un sottoinsieme dei problemi risolti inclusi in Adobe Commerce 2.4.6.

Installazione, aggiornamento, distribuzione

  • L’implementazione di contenuti statici non si interrompe più per timeout o non riesce durante le distribuzioni standard o compatte con più impostazioni internazionali e siti web.
  • La strategia compatta non causa più un riferimento non valido a un dominio esterno durante l'esecuzione della distribuzione di contenuto statico (bin/magento set:static-content:deploy -f --strategy compact).
  • L'esecuzione di bin/magento setup:di:compile -vvv (o con le opzioni -v o -vv) ora restituisce un messaggio informativo sull'errore. GitHub-35391
  • Adobe Commerce non genera più la seguente eccezione quando si esegue il comando bin/magento setup:upgrade in una distribuzione che esegue già lo strumento di migrazione dati: PHP Fatal error: Declaration of Migration\Logger\Logger::addRecord(int $level, string $message, array $context = []): bool must be compatible with Monolog\Logger::addRecord(int $level, string $message, array $context = [], ?Monolog\DateTimeImmutable $datetime = null): bool in /var/www/html/vendor/magento/data-migration-tool/src/Migration/Logger/Logger.php on line 34. GitHub-35604
  • Il comando bin/magento setup:db:status non ha più esito negativo negli ambienti che eseguono MySQL 8.0.29. In precedenza, l’output del comando indicava erroneamente che lo schema dichiarativo era obsoleto. GitHub-35671
  • Il comando composer install non sovrascrive più .gitignore file. GitHub-32888
  • L'esecuzione di bin/magento sampledata:remove per rimuovere i dati di esempio dopo l'aggiornamento su Alpine Linux non ha più esito negativo con questo errore: Undefined constant "MagentoHackathon\Composer\Magento\Deploystrategy\GLOB_BRACE. GitHub-36062
  • bin/magento setup:upgrade ora viene eseguito correttamente dopo la prima esecuzione di composer install --no-dev. GitHub-36351
  • Le eccezioni e le voci di traccia dello stack delle eccezioni sono ora incluse in var/log/exception.log. GitHub-36054
  • Adobe Commerce ora genera un errore di convalida del parametro quando si utilizza la riga di comando per impostare una connessione Redis senza una password.

Accessibilità

  • I pulsanti Proceed to Checkout, Review Order e Place Order nel flusso di lavoro di estrazione ora funzionano come previsto con l'input da tastiera.
  • L'indicazione visiva dello stato attivo sui pulsanti quando si utilizza TAB o SHIFT + TAB per spostarsi tra i controlli pagina ora funziona come previsto.

Lettori di schermo

  • L'utilità di lettura dello schermo per la pagina della cronologia degli ordini legge ora la descrizione corretta dell'immagine.

Gli assistenti vocali ora annunciano:

  • Numero totale di elementi trovati nei risultati di ricerca come previsto
  • Nome dell'utente connesso quando un utente effettua correttamente l'accesso utilizzando i controlli della tastiera
  • L'intestazione della pagina dei risultati della ricerca dei prodotti ora legge il valore corretto per l'elemento di tipo <title>
  • Indica se i campi di input sono obbligatori
  • Correggere lo stato corrente degli elementi del Pannello a soffietto (compresso ed espanso)
  • Quando il contenuto della pagina è stato aggiornato dopo che l'utente ha fatto clic sul pulsante Create an account

Prodotti bundle

  • L’aggiornamento del prodotto bundle tramite API per una visualizzazione store specifica ora non esclude altri dati di visualizzazioni store per lo stesso prodotto bundle. In precedenza, i titoli delle opzioni dei prodotti bundle venivano sostituiti con il primo titolo dell’opzione per altre visualizzazioni dello store.
  • I prodotti in bundle possono ora essere filtrati dall'amministratore Catalog > Products quando si utilizza una lingua olandese. In precedenza, Adobe Commerce mostrava questo errore quando si tentava di filtrare in base a Type: Bundle Product: Something went wrong with processing the default view and we have restored the filter to its original state. GitHub-35704
  • La griglia prodotti non genera più un’eccezione quando i prodotti bundle hanno un prezzo speciale che supera i 1000. In precedenza, quando si effettuava la ricerca del prodotto per SKU o si passava a Catalog > Products, Adobe Commerce generava questo errore: Non Numeric value encountered. GitHub-36284)
  • Le colonne nella nota di accredito e nei PDF di fattura per gli ordini che contengono una combinazione di bundle e prodotti semplici ora vengono riprodotte correttamente. In precedenza, le colonne risultavano distorte o non allineate.
  • Nelle query GraphQL che contengono un frammento BundleProduct, l'oggetto items.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 e CmsUrlResolverIdentity 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 e base_grand_total quando la valuta di archiviazione e la valuta di base sono uguali. GitHub-34649
  • Il valore esportato di Maximum Qty Allowed in Shopping Cart ora corrisponde al valore predefinito impostato nell'impostazione di configurazione Admin.
  • Adobe Commerce ora calcola correttamente il totale complessivo per i rimborsi degli ordini con uno sconto per la spedizione.
  • Google reCAPTCHA ora funziona come previsto per gli ordini in vetrina. In precedenza, Adobe Commerce mostrava questi errori quando Google ReCAPTCHA non era selezionato per la prima volta prima che un acquirente tentasse di effettuare un ordine: ReCaptcha validation failed, please try again e No such cart with id = ID.
  • L’aggiornamento dell’immagine CAPTCHA ora rispetta l’impostazione di configurazione Admin e non viene attivato quando l’impostazione è disabilitata. In precedenza, l’aggiornamento veniva attivato ogni volta che il metodo di pagamento cambiava, indipendentemente dal fatto che l’impostazione fosse abilitata o disabilitata. GitHub-34855
  • Adobe Commerce ora visualizza una finestra a comparsa di conferma come previsto prima di reindirizzare un acquirente alla pagina successiva quando cambia la quantità di prodotto nella pagina del carrello senza aggiornare il carrello, quindi tenta di passare alla pagina successiva.
  • Gli acquirenti possono ora diminuire la quantità di un prodotto dal carrello dopo che è stato diminuito nell’amministratore. In precedenza, Adobe Commerce generava il seguente errore quando un acquirente tentava di ridurre la quantità di prodotto: The requested qty is not available. GitHub-35780
  • Adobe Commerce non genera più un errore nella console JavaScript quando la quantità di prodotto supera il massimo configurato durante il pagamento con spedizione multipla. Al contrario, Adobe Commerce ora visualizza un messaggio di errore informativo. GitHub-36184
  • La quantità dell'articolo sulla pagina del carrello non viene più rappresentata come numero negativo quando un acquirente utilizza il tasto freccia giù sulla tastiera per modificare la quantità del prodotto. GitHub-36299
  • Gli acquirenti non possono più aggiungere al carrello un prodotto di una categoria che non è più consentita dopo aver cambiato il gruppo di clienti a cui appartiene l’acquirente. Adobe Commerce ora controlla l’accesso delle autorizzazioni del gruppo di clienti per specifiche categorie quando vengono modificate le impostazioni di configurazione delle autorizzazioni.
  • I carrelli acquisti dei clienti non vengono più svuotati prima della creazione dell’ordine da parte dell’amministratore e il contenuto del carrello viene ora ripristinato se l’ordine viene annullato o abbandonato. Gli elementi vengono ora rimossi dal carrello solo dopo la creazione dell’ordine. In precedenza, ogni volta che un utente amministratore tentava di creare un ordine nella pagina Admin Manage Shopping Cart (Gestisci carrello acquisti), il carrello veniva svuotato.
  • Il mini carrello visualizza ora le immagini del prodotto corrette dopo l'esecuzione di bin/magento catalog:image:resize. In precedenza, tutte le immagini venivano sostituite dall’immagine segnaposto del prodotto predefinita. GitHub-35535
  • Il pagamento può essere completato correttamente se l'indirizzo di spedizione contiene un attributo di estensione. In precedenza, Adobe Commerce ha generato questo errore: Object of class Magento\Quote\Api\Data\AddressExtension could not be converted to string. GitHub-34202
  • La mutazione addBundleProductsToCart non aggiunge più prodotti a un preventivo se un'opzione di prodotto richiesta non ha valore. GitHub-25676
  • Adobe Commerce ora restituisce un messaggio informativo quando una mutazione addProductsToCart non riesce quando si aggiunge al carrello un prodotto con autorizzazioni insufficienti.
  • Adobe Commerce non genera più un errore nella pagina del carrello quando si utilizza l’ordine rapido per aggiungere un prodotto in una quantità che supera le scorte disponibili.
  • La mutazione setGiftOptionsOnCart ora richiede l'autorizzazione del cliente per le operazioni del carrello clienti.

Regola prezzo carrello

  • Le opzioni di spedizione gratuita della regola del prezzo del carrello impostate durante la creazione della regola ora vengono applicate agli ordini come previsto. In precedenza, le opzioni di spedizione gratuita applicate durante la creazione della regola venivano ignorate durante il pagamento e la spedizione gratuita non era consentita al momento dell’applicazione della regola. GitHub-35013
  • La colonna discount_percent della tabella sales_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.
  • Il widget elenco prodotti non visualizza più prezzi errati o memorizzati nella cache per un acquirente registrato. Il prezzo visualizzato nel widget della home page ora corrisponde all'indirizzo del cliente e viene aggiornato quando il cliente aggiorna l'indirizzo. In precedenza, la cache del browser non aggiornava i prezzi dei prodotti nella home page in base alle regole fiscali del gruppo di clienti.
  • La funzione Confronta prodotti ora funziona correttamente in una distribuzione multisito e dipende dal sito Web.
  • Adobe Commerce non visualizza più i dati della pagina precedente quando ricarichi una pagina dei dettagli di un prodotto. In precedenza, quando la pagina dei dettagli del prodotto veniva ricaricata, i dati della prima scheda venivano uniti ai dati appena caricati per un secondo diviso.
  • Le categorie con sottocategorie possono ora essere espanse nel menu principale sui dispositivi mobili come previsto. In precedenza, gli acquirenti non potevano aprire o espandere le categorie con sottocategorie nelle distribuzioni per dispositivi mobili. GitHub-35329
  • Gli elenchi delle categorie ora vengono aggiornati come previsto quando un prodotto viene assegnato a un nuovo sito Web o store. In precedenza, l'indicizzatore del prezzo del prodotto non era contrassegnato come non valido e successivamente è stato riattivato in un'esecuzione cron come previsto. Di conseguenza, l’inserimento del prezzo del prodotto non era presente nella tabella dell’indice dei prezzi e non veniva visualizzato nel nuovo negozio o sito web.
  • Il conteggio dell'inventario storefront è ora accurato quando l'impostazione di configurazione Display Out of Stock Products è abilitata. GitHub-35899
  • La pagina della categoria non è più vuota quando l'impostazione Allow All Products Per Page è abilitata. GitHub-35900
  • L'opzione di configurazione Display Out of Stock Products ora funziona come previsto quando è abilitata. In precedenza, tutti i prodotti venivano visualizzati come esauriti nella vetrina quando questa opzione era abilitata in Amministrazione. GitHub-35898
  • Ora i clienti assegnati a un gruppo all’ingrosso possono aggiungere un prodotto raggruppato al carrello, se consentito dalle autorizzazioni per le categorie. Se questa autorizzazione non è definita per un gruppo di clienti, l’impostazione di configurazione ha la precedenza.
  • L’ordinamento dei prodotti in base agli attributi booleani ora funziona come previsto. GitHub-36390
  • Gli sconti della regola del prezzo di catalogo non vengono più applicati alle opzioni di prodotto personalizzate a prezzo fisso, ma solo al prezzo originale del prodotto.
  • I prodotti correlati vengono ora recuperati correttamente nella pagina dei dettagli del prodotto della vetrina quando vengono generati dalla regola del prodotto correlata per gli attributi alfanumerici del prodotto. GitHub-36285
  • Le regole del prezzo di catalogo ora tengono conto dell’ambito selezionato e vengono applicate ai prodotti solo per i siti web per i quali l’attributo ha un valore di opzione che corrisponde alla regola. In precedenza, la regola non teneva conto dell’ambito selezionato nelle distribuzioni multisito. GitHub-36049
  • Gli attributi di colore e dimensione delle opzioni dei campioni ora sono preselezionati nella pagina dei dettagli del prodotto quando un acquirente modifica il prodotto configurabile dalla pagina Il mio carrello. (jQuery 3.x supporta ora il nome del widget swatchRenderer, che ora è Camel Case.) In precedenza, l’opzione campione non era preselezionata.
  • Ora i clienti vengono avvisati del calo dei prezzi dei prodotti quando il cliente è abbonato all’avviso di calo dei prezzi. In precedenza, le notifiche di calo dei prezzi non venivano sempre inviate a causa del caching a livello di applicazione.
  • Le regole del catalogo basate su SKU con la condizione is not one of ora funzionano come previsto.
  • Adobe Commerce non presuppone più erroneamente che una categoria sia la categoria padre di un’altra in base al percorso della categoria. In precedenza, quando due categorie erano adiacenti e un ID di categoria inizia con l’ID di categoria di un’altra categoria, Adobe Commerce presupponeva che le categorie avessero la stessa categoria principale. GitHub-32464

Prodotti configurabili

  • Adobe Commerce non genera più un errore quando un utente amministratore aggiunge manualmente prodotti a un prodotto configurabile a cui sono già assegnati molti prodotti semplici. In precedenza, Adobe Commerce visualizzava questo errore: Something went wrong with processing the default view and we have restored the filter to its original state.
  • Gli acquirenti non possono più aggiungere al carrello prodotti configurabili con una quantità vendibile pari a 0 nelle distribuzioni con ordini arretrati disabilitati. Adobe Commerce ora indica che il prodotto è esaurito. GitHub-35319
  • La creazione di un nuovo prodotto mediante l’importazione di un prodotto configurabile con molte opzioni da una diversa visualizzazione dello store ora genera una copia esatta del primo prodotto come previsto. In precedenza, l’ordinamento delle opzioni configurabili del nuovo prodotto era errato e i titoli non venivano tradotti nelle impostazioni locali della nuova visualizzazione store in implementazioni con più visualizzazioni store e impostazioni locali. GitHub-35200
  • I prodotti configurabili con tutti i prodotti secondari esauriti vengono ora visualizzati come esauriti sul vetrina.
  • Ora gli SKU di prodotto configurabili e i nomi dei prodotti vengono visualizzati con precisione. In precedenza, nomi e SKU venivano visualizzati come non definiti dopo lo spostamento di un gruppo di attributi al di sopra del gruppo Dettagli prodotto in Stores > Attribute set. GitHub-36309

Coupon

  • È stata aggiunta una logica di convalida al flusso di lavoro Gestisci codici coupon per applicare le impostazioni del codice coupon durante la generazione dei coupon. In precedenza, la generazione del codice coupon ignorava l'impostazione Code Length quando il valore Quantità coupon era maggiore di 2500.
  • I punti premio vengono ora aggiunti al conto di un cliente come previsto quando viene applicato un buono sconto durante il pagamento con il metodo di pagamento PayPal Express.
  • Ora puoi applicare un codice coupon durante la creazione dell’ordine di amministrazione quando la regola del prezzo del carrello ha come condizione il peso. In precedenza, i codici coupon non venivano impostati se non venivano selezionati altri campi per il prodotto. GitHub-36271
  • Ora puoi filtrare i rapporti coupon per più regole di prezzo del carrello. GitHub-36272
  • Le opzioni personalizzate vengono ora applicate e salvate quando un utente amministratore preme Enter durante la configurazione di un prodotto con opzioni personalizzate. In precedenza era possibile selezionare le opzioni e aggiungere il prodotto a un ordine, ma le opzioni non venivano salvate e all’utente amministratore veniva richiesto di selezionare nuovamente le opzioni del prodotto. GitHub-35284
  • I codici coupon possono ora essere esportati correttamente in Excel XML. In precedenza, il file generato non conteneva tutti i codici coupon selezionati, ma solo tutti gli elementi selezionati nel selettore elementi per pagina.GitHub-36073

cron

  • Il processo cron catalog_index_refresh_price ora viene eseguito correttamente. In precedenza, Adobe Commerce registrava questo errore durante l'esecuzione cron: report.ERROR: Cron Job catalog_index_refresh_price has an error: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens.

Valuta

  • È stato aggiunto uno spazio mancante tra i simboli di valuta personalizzati e i prezzi dei prodotti sia in vetrina che in Admin. Sono state aggiunte la condizione appropriata e l’espressione regex per consentire un NBSP personalizzato nei simboli di valuta. Ad esempio, IDRx 105.00 è stato visualizzato in precedenza come IDRx105.00.

Segmento cliente

  • Il filtro Sì/No nella griglia dei segmenti cliente amministratore durante la creazione di una nuova regola di prezzo del carrello ora funziona come previsto.

E-mail

  • Adobe Commerce non invia più e-mail duplicate di un cliente dopo la creazione di un ordine dall’amministratore.
  • Le e-mail degli ordini di amministrazione non vengono più inviate quando l'impostazione Email order confirmation è disabilitata. GitHub-36256
  • Le opzioni immagine non vengono più visualizzate come markup HTML nella nota di accredito, nella conferma dell'ordine e nelle e-mail del cliente della fattura (modello predefinito) per i prodotti con opzioni personalizzate.

Framework

  • Gli utenti Admin possono ora aprire correttamente la pagina Admin Store > Configuration quando nessun paese nell'impostazione European Union Countries (Stores > Configuration > General > Country options > European Union Countries). In precedenza, quando un utente amministratore tentava di aprire questa pagina, Adobe Commerce generava questo errore: TypeError: explode(): Argument #2 ($string) must be of type string, null given in /var/www/php/folder/vendor/magento/module-config/ViewModel/CountryFilter.php:46. GitHub-35901
  • jquery.cookie dipendenze ora funzionano come previsto con le dipendenze di JavaScript. In precedenza non era possibile utilizzare alias per jquery/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 file system.log venivano registrati errori, in var/log/exception.log non venivano registrati errori.
  • I commercianti ora possono specificare un provider SMTP esterno personalizzato. GitHub-26104
  • È ora possibile autorizzare nuovamente le integrazioni OAuth, come previsto, nelle implementazioni che eseguono Adobe Commerce 2.4.3-p2. Precedentemente, la riautorizzazione non è riuscita con questo errore: The attempt to post data to consumer failed due to an unexpected error. Please try again later. Adobe Commerce ha inoltre tentato di decrittografare i valori non crittografati. GitHub-35313
  • Il parametro rowId corretto viene ora passato quando la categoria urlKey viene salvata per le categorie con categorie figlio. In precedenza, categoryId errato veniva passato durante il salvataggio della categoria URLKey.
  • 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 utilizzato event: report.CRITICAL: Error: Call to a member function getStatus() on string in /home/mer33515/public_html/ee24develop/magento2ee/app/code/Magento/CatalogEvent/Observer/ApplyIsSalableToProduct.php:23.
  • I messaggi di errore di convalida della vetrina che si verificano durante il posizionamento dell'ordine ora vengono visualizzati in modo coerente. In precedenza, i messaggi venivano visualizzati, compressi e quindi rivisualizzati. GitHub-35651
  • I consumatori AMQP non hanno più esito negativo a causa di una funzione trim() obsoleta nelle distribuzioni che eseguono PHP 8.1. In precedenza, quando il consumer AMQP veniva avviato dopo l'installazione, Adobe Commerce generava questo errore: Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string is deprecated in .../vendor/magento/framework-amqp/Config.php on line 143. GitHub-35380
  • Il metodo getFilteredTimerIds ora funziona come previsto. La classe Magento\Framework\Profiler\Driver\Standard\Stat è ora compatibile con PHP 8.1. In precedenza, Adobe Commerce generava un’eccezione durante la chiamata di questo metodo. GitHub-35307
  • È stata rimossa la dipendenza dalla libreria imagemin-svgo.
  • Il processo del modello di minimizzazione ora elabora correttamente i commenti consecutivi quando il primo commento inizia con //. GitHub-34880
  • È stata corretta una query del database emessa dal modulo BundleGraphQl che ha restituito questo errore: "debugMessage": "Notice: Undefined offset: 16 in vendor/magento/module-bundle-graph-ql/Model/Resolver/Options/Collection.php on line 130".GitHub-34991

Correzioni generali

  • Adobe Commerce ora visualizza un intervallo di tempo preciso quando un utente amministratore seleziona l'opzione Last 24 Hours dal dashboard delle statistiche di amministrazione. In precedenza, Adobe Commerce mostrava un intervallo di tempo errato. Ciò si è verificato perché il fuso orario del database è rimasto invariato.
  • È ora possibile generare note di credito sia per le quantità intere che per quelle decimali. In precedenza erano supportate solo le quantità intere.
  • La regola di convalida dell'input Codice postale cliente per il tipo solo numerico ora funziona come previsto nel campo Edit Customer Address (Store > Attribute > Customer Address). In precedenza, le informazioni sull’indirizzo del cliente venivano salvate senza la convalida del codice postale.
  • Gli utenti amministratore con accesso limitato a un sito web ora possono accedere correttamente all’amministratore utilizzando la funzione Accedi come cliente.
  • Gli account cliente condivisi a livello globale dispongono ora di indirizzi convalidati in base all'elenco dei paesi consentiti per il sito Web corrente e salvati correttamente. In precedenza, questi account venivano erroneamente convalidati rispetto ai paesi consentiti del sito web in cui il cliente era registrato.
  • Le breadcrumb dalla gerarchia delle pagine di CMS non vengono più visualizzate quando Enable Hierarchy Functionality è disabilitato. In precedenza venivano visualizzate le breadcrumb e quando gli acquirenti facevano clic su di esse veniva visualizzata una pagina 404. GitHub-35513
  • La rimozione di un prodotto da tutti i siti Web tramite Admin non causa più il seguente errore: SQLSTATE[42000]: Syntax error or access violation. GitHub-35133
  • I clienti che superano il numero massimo di tentativi di accesso non riusciti possono effettuare l’accesso dopo la reimpostazione della password. GitHub-34981
  • Il componente Righe dinamiche ora si comporta come previsto quando un utente amministratore aggiunge un nuovo elemento. In precedenza, il componente riga si comportava in modo errato quando un nuovo prodotto semplice veniva aggiunto a un prodotto raggruppato. GitHub-34850
  • Sono stati corretti errori di battitura e grammatica errata nel file app/code/Magento/Backend/etc/menu.xsd.
  • Il file app/code/Magento/Authorization/README.md è stato aggiornato per descrivere con precisione la creazione della tabella.
  • Il metodo recordLogin è stato aggiornato per impostare i valori di accesso nel modello utente e per mantenere i valori corretti nei campi logdate e lognum della tabella admin_user. In precedenza, i tentativi di accesso per gli utenti amministratori aggiornati non venivano registrati.
  • I modelli di problema GitHub sono stati convertiti in moduli di problema per problemi di esperienza degli sviluppatori e richieste di funzioni.
  • L'attributo cliente Is required è ora implementato correttamente per ambito sito Web per il modulo di modifica cliente amministratore.
  • Il campo Grid Filter Condition Type degli attributi dell'indirizzo del cliente e del cliente non è più visibile nella pagina di modifica degli attributi quando l'impostazione Use in Filter Options è disabilitata.
  • Adobe Commerce ora visualizza un messaggio di errore informativo se un commerciante non riesce a immettere un valore di attributo SKU facoltativo durante la creazione di un prodotto. In precedenza, l'applicazione generava questa eccezione quando l'attributo era facoltativo: Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/mg244/project-community-edition/vendor/magento/module-eav/Model/Entity/AbstractEntity.php on line 932. GitHub-35810
  • Il filtro Show my quotes sulla pagina My Quotes ora funziona come previsto. In precedenza, i risultati del filtro includevano le virgolette di altri utenti amministratori.

Biglietti regalo

  • Gli importi dei prodotti gift card ora rimangono invariati rispetto alla quantità specificata in un file CSV durante l’importazione. Sono state aggiunte verifiche per le opzioni esistenti e i valori precedenti vengono ora aggiornati in base a una chiave univoca. In precedenza, gli importi delle gift card venivano raddoppiati quando venivano importate più volte.

Confezione regalo

  • Il prezzo per la confezione regalo viene ora visualizzato come previsto nel blocco di riepilogo dell'ordine quando la confezione regalo viene applicata a livello di ordine a un ordine che contiene prodotti fisici e virtuali. In precedenza, Adobe Commerce non mostrava il prezzo per la confezione regalo.

GraphQL

  • Types che implementano più interfacce nel codice GraphQL ora possono essere separate da un segno & e da , in conformità alla specifica @doc di GraphQL.
  • La mutazione setShippingAddressesOnCart ora supporta l'impostazione di codici di area numerici come region. In precedenza, questa mutazione funzionava in modo errato per i valori dei codici di area numerici.
  • La query products ora restituisce solo le revisioni associate all'ambito specificato. In precedenza, le query restituivano recensioni da tutti gli store.
  • Le autorizzazioni per le categorie ora vengono rispettate durante le richieste di GraphQL.
  • La query customer ora filtra correttamente gli ordini con un intervallo from e to specificato. GitHub-31537
  • La query product ora restituisce dati di categoria corretti nell'aggregazione. In precedenza, attribute_code.category_uid restituiva il valore di category_id invece di category_uid.
  • La query customerOrders non genera più un errore \"model\" value should be specified. GitHub-35852
  • La query customer ora filtra gli ordini in base all'ambito. Ora puoi specificare se la query deve filtrare gli ordini per negozio, sito Web o a livello globale.
  • La query categoryList ora restituisce un conteggio accurato dei prodotti per le categorie padre ancorate e non ancorate. Il nuovo attributo is_anchor è stato aggiunto all'elenco delle colonne selezionate della raccolta categorie. In precedenza, le richieste restituivano un conteggio di prodotti pari a 0. GitHub-36300
  • La mutazione generateCustomerTokenAsAdmin ora funziona come previsto durante la creazione di un token per accedere a un archivio non predefinito in una distribuzione multi-store. GitHub-35084
  • La mutazione createEmptyCart genera ora un'eccezione come previsto quando viene utilizzato un token scaduto. GitHub-26112
  • I messaggi di errore relativi alle query sul carrello sono stati resi più informativi. GitHub-34546
  • I dati di aggregazione nella risposta di una query products ora includono valori corretti per gli attributi del tipo di prezzo attribute_code e label. GitHub-28878
  • La query products restituisce le informazioni sulla categoria come previsto quando il prefisso del database ha un valore non Null. In precedenza, restituiva un Internal server error. GitHub-36117
  • È stato corretto il tipo restituito per il metodo getCustomerIsGuest. GitHub-29529
  • Refactoring del plug-in Magento\CatalogGraphQl\Plugin\DesignLoader eseguito.
  • Il ricaricamento del carrello ora viene attivato una sola volta come previsto quando il carrello viene inizializzato da mutazioni GraphQL. In precedenza, il caricamento del carrello attivava un’inutile riconvalida del carrello rispetto alle scorte, che consumavano risorse significative ogni volta che il carrello veniva caricato.
  • È stato aggiunto il tipo gift_message a OrderItemInterface. GitHub-29418
  • Le opzioni prodotto restituite nelle risposte di GraphQL ora includono solo i prodotti all’interno del catalogo a cui appartiene l’utente. Se l’utente appartiene a un catalogo condiviso, vengono restituiti solo i prodotti nei cataloghi condivisi. Se l'utente è ospite o non fa parte di un catalogo condiviso personalizzato, vengono restituiti solo i prodotti del catalogo pubblico.

Google ReCAPTCHA

  • Un errore reCAPTCHA nel file var/log/exception.log per l'accesso amministratore reCAPTCHA di Google V3 è stato risolto e non vengono registrati messaggi di errore. In precedenza, quando un utente amministratore configurava le impostazioni Configuration > Security > Google reCAPTCHA Admin Panel, veniva generato il seguente errore a intervalli di pochi secondi: main.ERROR: Can not resolve reCAPTCHA parameter. {"exception":"[object] (Magento\Framework\Exception\InputException(code: 0): Can not resolve reCAPTCHA parameter. at /home/xxxxxxx/public_html/vendor/magento/module-re-captcha-ui/Model/CaptchaResponseResolver.php:25)"} []. GitHub-34975

Immagine

  • Sono stati aggiornati i consigli sulle dimensioni del logo per la distinta fattura PDF.

Importa/esporta

  • L'importazione di un prodotto con lo stesso codice URL numerico di un prodotto esistente, ma senza il relativo carattere alfabetico terminale, non causa più un errore di convalida quando Product URL Suffix è impostato su vuoto in Amministrazione.
  • Il comando bin/magento app:config:importimporta correttamente il contenuto di un file config.php quando contiene determinate espressioni cron. In precedenza, l'importazione non era riuscita con questo errore: Import failed: Notice: Trying to access array offset on value of type null in [..]/vendor/magento/module-config/Model/Config/Backend/Currency/Cron.php on line 66. GitHub-31428
  • L’esportazione completa ora funziona correttamente quando AWS S3 viene utilizzato come archiviazione remota. In precedenza, l’esportazione non riusciva a causa delle dimensioni del file caricato.
  • Lo stato del prodotto ora viene importato correttamente quando mancano le colonne dei dati di inventario nel file CSV. In precedenza, dopo l’importazione del prodotto, l’origine predefinita veniva assegnata automaticamente al prodotto, la sua quantità veniva impostata su zero e il suo stato veniva elencato come esaurito quando mancavano le colonne dei dati di inventario nel file CSV.
  • L'importazione dei valori di Advanced Pricing ora fornisce il conteggio corretto per i record nuovi e aggiornati quando l'importazione include più di 100 record. In precedenza, il messaggio di completamento dell’importazione conteneva un conteggio errato.
  • I file CSV esportati ora contengono percorsi corretti per i nomi delle categorie, che vengono salvati in più lingue. È stato aggiunto un ID store per la raccolta di categorie. In precedenza, i file esportati contenevano percorsi misti con lingue diverse invece di un percorso di categoria derivato dalla vista archivio predefinita.
  • L’aggiornamento delle opzioni personalizzate per un prodotto in una visualizzazione specifica dello store tramite l’importazione ora viene completato correttamente. In precedenza, se una riga relativa al prodotto veniva suddivisa in più batch, veniva generato un errore interno del server.
  • Il servizio di importazione Fixer.io ora funziona come previsto. I tassi di cambio vengono ora importati correttamente. GitHub-36010

Indice

  • L'indicizzatore batch_size per l'indice catalogpermissions_category è ora modificato nel valore specificato nel file env.php come previsto. In precedenza, un errore di battitura nel percorso per l'override dell'indicizzatore batch_size impediva la modifica della dimensione del batch al valore specificato in env.php. GitHub-652
  • La reindicizzazione dei prezzi ora viene eseguita correttamente quando il catalogo contiene prodotti bundle non assegnati ad alcun sito Web. In precedenza, durante l'esecuzione dell'indice dei prezzi del prodotto si verificava l'errore seguente: Warning: Undefined array key <bundel product id > in vendor/magento/module-bundle/Model/ResourceModel/Indexer/Price/DisabledProductOptionPriceModifier.php on line 117. GitHub-35796

Infrastruttura

  • È stata aggiunta la bonifica dei valori DATE e DATETIME nelle immagini di database per il supporto Adobe Commerce. In precedenza, i campi del tipo datetime non venivano bonificati per le tabelle cliente/preventivo/ordine nella tabella di backup del database.
  • La funzione escaper.js escapeHtml converte ora il carattere speciale e commerciale (&) in "$amp;" in base alla regola InnerHtml. Questa soluzione generica risolve i problemi di conversione dei riferimenti a caratteri speciali e caratteri nella casella di immissione del titolo e salva il valore esatto come inserito. In precedenza, i caratteri e commerciale (&) non venivano codificati correttamente nei nomi dei nodi nella gerarchia dei contenuti.
  • Sono stati risolti i problemi relativi al modulo di terze parti colinmollenhour/php-redis-session-abstract e PHP 8.1. GitHub-35634

Raccolta file multimediali

  • La Raccolta file multimediali legacy è ora disabilitata per impostazione predefinita. In precedenza, Enable old Media gallery era impostato su Yes.
  • New Media Gallery è stato ottimizzato per migliorare il caricamento della struttura di directory nella pagina categoria.

Registrazione

  • È ora possibile generare report di sistema per file di registro di 0 byte. In precedenza, Adobe Commerce generava un errore durante la generazione di un rapporto per una raccolta di file di registro quando uno o più file erano vuoti.

Ordine

  • Nella pagina Nota credito ordine cliente amministratore viene ora visualizzato il totale complessivo corretto per gli ordini creati con Credito negozio e più fatture. In precedenza, il calcolo del totale complessivo non era corretto e l'utente non poteva generare una nota di credito.
  • Il prefisso dell'ordine passato nello script di installazione ora viene aggiunto correttamente all'ID dell'ordine.
  • La pagina dei dettagli dell’ordine ora viene caricata correttamente se l’ordine contiene un prodotto con un lungo valore di testo personalizzato. In precedenza, la pagina dei dettagli dell'ordine non veniva caricata e il valore nella colonna sales_order_item.product_options non veniva memorizzato correttamente se un prodotto conteneva un valore lungo per un'opzione di testo personalizzata.
  • Lo stato dell'ordine di vetrina è ora preciso per gli ordini con rimborso parziale. In precedenza, un ordine rimaneva nello stato di elaborazione dopo la spedizione quando veniva applicato un rimborso parziale. GitHub-35528
  • Il gruppo di clienti è ora rappresentato con precisione come Non connesso per un ordine creato da un utente ospite. In precedenza, il gruppo di clienti era NULL nei riepiloghi degli ordini degli ospiti, che influenzavano le e-mail di conferma e l’esportazione degli ordini. GitHub-35440
  • Lo stato Closed è ora assegnato agli ordini virtuali come previsto dopo l'emissione di una nota di credito e il rimborso al cliente. In precedenza, i prodotti virtuali venivano visualizzati come Complete nel menu a discesa Stato ma come Closed nel piè di pagina dei commenti dell'ordine quando il commento veniva aggiunto dall'amministratore. GitHub-35283
  • Gli ospiti possono ora effettuare ordini per prodotti con una quantità inferiore a uno e la quantità di prodotti è ora strettamente digitata come float. In precedenza, poiché la quantità di prodotto era strettamente digitata come int, gli ordini per una quantità di prodotto inferiore a uno non sono riusciti con questo messaggio: Some of the products are disabled. GitHub-36060
  • I rimborsi di spedizione ora vengono calcolati correttamente quando l'opzione di configurazione Apply discount on prices è impostata su including taxes.
  • Le griglie di fatture, spedizioni e note di accredito ora vengono aggiornate in modo asincrono dopo l'archiviazione degli ordini.
  • Gli ordini duplicati non derivano più da richieste GraphQL simultanee identiche. Le virgolette sono ora bloccate per un massimo di 10 secondi per impedire la creazione di ordini duplicati e la seconda richiesta non riesce con questi errori: The cart isn't active o The order has already been placed and is currently processing. Questo valore di blocco può essere configurato tramite ID per il parametro lockWaitTimeout della classe Magento\Quote\Model\PlaceOrderMutex. GitHub-36274
  • L'aggiunta di un commento a un ordine archiviato non lo restituisce più alla griglia degli ordini non archiviati mantenendo il relativo stato archiviato.
  • I valori degli attributi della società vengono ora visualizzati come previsto nelle sezioni degli indirizzi di fatturazione e spedizione del flusso di lavoro di pagamento. In precedenza, gli attributi della società non venivano visualizzati correttamente nella pagina dei dettagli dell’ordine perché i negozi non venivano impostati correttamente durante la creazione dell’ordine. I valori degli attributi sono stati memorizzati correttamente solo quando la proprietà Mostra società è stata impostata su optional per il sito Web principale nelle distribuzioni di più store.
  • Il valore customer_address_id è ora impostato come previsto per un nuovo indirizzo di fatturazione quando la casella di controllo My billing and shipping address are the same è selezionata. È stata introdotta una condizione aggiuntiva per identificare se l’indirizzo di fatturazione è uguale all’indirizzo di spedizione prima di impostare l’ID dell’indirizzo del cliente per l’indirizzo di spedizione.
  • Sono stati risolti i problemi di concorrenza con l’inserimento dell’ordine. In precedenza, se due ordini venivano inoltrati da browser diversi nello stesso momento, o quasi nello stesso momento, a entrambi veniva assegnato lo stesso ID ordine. GitHub-35833
  • L’inserimento di un ordine fatturato automaticamente per un prodotto gratuito quando è abilitata l’indicizzazione asincrona ora funziona come previsto. Nessuna voce aggiunta alla tabella sales_order_grid or sales_invoice_grid per questi ordini. In precedenza, Adobe Commerce ha generato un'eccezione perché l'applicazione ha tentato di indicizzare le griglie durante il posizionamento dell'ordine invece di affidarsi a cron. GitHub-36334

Page Builder

  • È ora possibile utilizzare la funzione di trascinamento della selezione di Page Builder per importare in blocco le immagini nella raccolta.
  • Sono stati risolti i problemi relativi alla regola CSS del cursore di Page Builder. GitHub-34527
  • Gli attributi Dropdown, Text area e Text field sono ora disponibili nell'elenco degli attributi di prodotto di Page Builder. In precedenza erano disponibili solo gli attributi Dropdown e Text area.

Pagamento

  • Il metodo di pagamento COD non viene più visualizzato nel flusso di lavoro di pagamento della vetrina quando il COD è esentato per il paese specificato negli indirizzi di spedizione e fatturazione. In precedenza, le impostazioni di configurazione dell’amministratore per questa funzione non venivano implementate.
  • Le informazioni sul pagamento dell'insieme di credenziali non vengono più visualizzate nella sezione Pagamento del flusso di lavoro di creazione degli ordini dell'amministratore se l'acquirente non ha salvato un token. GitHub-33954
  • I prezzi personalizzati non vengono più raddoppiati dopo che uno sconto viene applicato dalla regola prezzo carrello. GitHub-35154
  • Il nuovo stato ordine in sospeso viene ora rispettato come previsto quando un ordine viene effettuato utilizzando il metodo di pagamento Totale parziale zero.
  • Le impostazioni e-mail degli ospiti vengono ora rispettate durante la creazione degli ordini per un acquirente ospite con PayPal Express tramite GraphQL. In precedenza, l'indirizzo e-mail impostato veniva sostituito dall'indirizzo e-mail impostato nel conto PayPal.

Braintree

  • Gli ID ordine vengono ora aggiunti alle richieste di liquidazione per le transazioni di pagamento.
  • Adobe Commerce non genera più il seguente errore quando un commerciante fa clic su Reports > Braintree Settlement: Error: Undefined constant Braintree\PaymentInstrumentType::ANDROID_PAY_CARD in /var/www/html/vendor/paypal/module-braintree-core/Ui/Component/Report/Listing/Column/PaymentType.php:49. GitHub-35434
  • La query customerPaymentTokens non restituisce più token di Braintree quando l'insieme di credenziali è disattivato in Amministrazione.
  • Il pulsante Pay Later e i banner sono stati abilitati per Italia e Spagna.
  • Gli utenti amministratori possono ora creare un ordine o riordinarlo quando il metodo di pagamento Braintree è abilitato. In precedenza, Adobe Commerce ha generato questo errore: report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174.
  • L'estrazione con il metodo di pagamento Braintree ora viene completata quando PayPal Braintree è abilitato e Enable Card Payments è disabilitato. In precedenza, la barra di avanzamento non veniva mai risolta e Adobe Commerce visualizzava questo errore della console: adapter.js:66 Uncaught TypeError: Cannot read properties of undefined (reading 'clientToken')at Object.getClientToken (adapter.js:66:66). GitHub-35961
  • Sono stati implementati gli hook web per la protezione dalle frodi, il pagamento tramite ACH e il metodo di pagamento locale. Il webhook di protezione antifrode viene attivato solo se è stata presa una decisione sui rischi in Braintree. Il Web hook ACH viene attivato solo dopo l'aggiornamento di un pagamento ACH a settled o settlement decline.
  • I campi di configurazione Tagline e Layout sono stati rimossi da tutti i pulsanti PayPal nella sezione Stile amministratore.
  • L'opzione Braintree metodo di pagamento Vault rimane selezionata nel flusso di lavoro di pagamento quando un acquirente aggiorna il proprio indirizzo di fatturazione. In precedenza, il metodo di pagamento veniva deselezionato quando l'acquirente deselezionava il pulsante My billing and shipping address are the same.
  • Gli elementi riga vengono ora passati per le transazioni PayPal quando l'impostazione di configurazione Send Line Items è abilitata dall'amministratore.
  • La logica di convalida nel campo Metodo di pagamento ACH Account Number ora supporta testo di quattro-17 cifre.
  • La query customerPaymentTokens non restituisce più token di Braintree quando l'insieme di credenziali è disattivato dall'amministratore.
  • Gli utenti amministratori possono ora creare un ordine o riordinare per i clienti quando è abilitato il metodo di pagamento Braintree. In precedenza, Adobe Commerce ha generato questo errore: report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174
  • Gli acquirenti possono ora utilizzare il metodo di pagamento Braintree nei negozi in cui Enable Card Payments è stato disabilitato. In precedenza, Adobe Commerce ha generato questo errore JavaScript: _adapter.js:66 Uncaught TypeError: Cannot read properties of undefined (reading 'clientToken')at Object.getClientToken (adapter.js:66:66).

Prestazioni

  • L’indicizzatore dei prezzi ora elimina i dati obsoleti come previsto dopo la sostituzione dei record durante la reindicizzazione parziale di cataloghi di grandi dimensioni. In precedenza, il processo di reindicizzazione rimuoveva i record obsoleti prima di sostituirli, causando la temporanea scomparsa dei prodotti dalla vetrina. GitHub-35616
  • Le prestazioni del comando bin/magento/setup:upgrade sono state migliorate. In precedenza, questo comando ricreava i trigger del database, causando un tempo di inattività significativo durante l’esecuzione del comando. Inoltre, gli indicizzatori non sono tornati alla modalità pianificata e sono rimasti in modalità di salvataggio. GitHub-33386
  • L’aggiornamento dei prezzi dei livelli tramite API ora viene eseguito più rapidamente. In precedenza, l'aggiornamento dei prezzi dei livelli generava query SELECT non necessarie, che ritardavano l'esecuzione quando molti gruppi di clienti venivano assegnati a un prodotto.
  • Il caricamento delle pagine che includono l’elenco dei prodotti per widget di catalogo è stato ottimizzato. In precedenza, gli attributi non globali venivano caricati direttamente dal database.

Rapporti

  • Il report del registro di amministrazione ora mostra un valore Value before change preciso quando viene aggiornata una regola di categoria.
  • Le date del report Totale ordini da e a ora vengono visualizzate correttamente dopo la selezione dalla selezione delle date.
  • La costante ANDROID_PAY_CARD in Braintree/Ui/Component/Report/Listing/Column/PaymentType.php ha sostituito GOOGLE_PAY_CARD. In questo modo vengono risolti i problemi relativi al rapporto Braintree.

Restituisci autorizzazioni Merchandising (RMA)

  • Il campo del commento RMA (Orders > Return) non contiene più spazi vuoti ridondanti. (I tag <textarea> e <?php sono ora su un'unica riga.
  • La casella di controllo Use Config Settings per il campo Enable RMA ora salva il relativo valore come previsto quando viene salvato un prodotto.

Recensioni

  • Gli utenti amministratori con accesso limitato a un ambito specifico possono ora eliminare le revisioni dei prodotti come previsto.

Ruoli

  • È stato aggiunto un ACL mancante per Stores > Configuration > Services > OAuth. In precedenza, non era possibile definire l’accesso a questa impostazione di configurazione OAuth durante la configurazione delle autorizzazioni del ruolo.

Ricerca search-heading

  • Le ricerche di stringhe tra virgolette ora funzionano come previsto quando l'impostazione di configurazione Minimum Terms to Match è abilitata. In precedenza, Adobe Commerce ha generato questo errore: {"error":{"root_cause":[{"type":"parsing_exception","reason":"[match_phrase] query does not support [minimum_should_match]' ....
  • Il filtro di ricerca Punto di accesso per i record dei clienti nelle griglie dei clienti dell'ordine cliente funziona ora come previsto durante la creazione dell'ordine.
  • La qualità dei suggerimenti di ricerca è stata migliorata per le query con più parole.
  • I risultati della ricerca ora includono gli output esauriti delle opzioni per tutti i prodotti disponibili quando Display Out Of Stock Products è abilitato GitHub-36055

Spedizione

  • Le tariffe di spedizione per FedEx, USPS e UPS vengono calcolate correttamente quando la regola Carrello spedizione gratuita è impostata per corrispondere solo a un sottoinsieme di articoli nel carrello.
  • Nella pagina Spedizione per amministratori non viene più visualizzata l'opzione di spedizione gratuita se il totale dell'ordine è inferiore all'importo minimo specificato per l'ordine idoneo per la spedizione gratuita. GitHub-33697
  • Adobe Commerce ora rispetta l'impostazione di configurazione del cliente amministratore Show Company durante la visualizzazione dell'indirizzo di spedizione o del cliente. Se questa impostazione è disabilitata, la società di spedizione non viene più inclusa nel record di spedizione, nell'indirizzo del cliente o nel record dell'ordine del database. In precedenza, le informazioni venivano visualizzate nonostante la disattivazione dell’impostazione. GitHub-33729
  • È stata rimossa un'operazione di salvataggio superflua sui preventivi durante la stima della spedizione.
  • L'ambito storeId è ora applicato direttamente da $request->getStoreId() per garantire che l'ambito non venga perso quando un preventivo viene creato da un utente amministratore. In precedenza, si verificavano occasionalmente problemi con i metodi di spedizione quando veniva creato un preventivo dall’amministratore utilizzando moduli di terze parti.
  • Gli URL compatibili con SEO vengono ora generati per i prodotti con l'impostazione url_key sovrascritta a livello di visualizzazione store. In precedenza, gli URL dei prodotti delle categorie non venivano reindirizzati a URL compatibili con SEO (Search Engine Optimization).
  • Adobe Commerce non genera più un errore relativo all’importo minimo dell’ordine quando viene applicato uno sconto alle spese di spedizione.
  • I rimborsi di spedizione ora vengono calcolati correttamente quando l'imposta viene applicata dopo l'applicazione di uno sconto alla spedizione.
  • Tutte le promozioni applicabili per un carrello richiesto tramite query GraphQL cart vengono restituite insieme. Le promozioni includono sconti per articoli di linea, regole del carrello/sconti, coupon, gift card e credito del negozio. GitHub-35545
  • Sono stati aggiunti i tipi price_excl_tax e price_excl_tax all'output della mutazione setShippingMethodsOnCart. GitHub-31206
  • Gli ID di spedizione univoci vengono ora passati nelle risposte GraphQL come previsto con i dettagli di spedizione per gli ordini di spedizione a più indirizzi per le query GraphQL.

Staging

  • La riprogrammazione della data di fine di un aggiornamento di staging non genera più un errore dopo il completamento dell’aggiornamento. In precedenza, gli amministratori non potevano aprire le pagine dei prodotti e le griglie dei prodotti e Adobe Commerce generava questo errore: report.CRITICAL: Exception: Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "1" already exists.
  • Il dashboard di gestione temporanea visualizza ora il numero totale corretto di record e la paginazione del dashboard funziona ora come previsto. Precedentemente. il dashboard visualizzava un massimo di 20 record.
  • Le anteprime di staging dei contenuti ora vengono caricate più rapidamente nelle implementazioni con molti store. Ora la reindicizzazione dell’anteprima reindicizza solo gli store selezionati.
  • Ora è possibile aggiungere i prodotti al carrello in modalità di anteprima pianificazione. L'aggiornamento dei collegamenti delle breadcrumb in modalità anteprima di pianificazione con questi parametri ha risolto il problema: version, timestamp e signature.

Imposta

  • L'impostazione di configurazione Display Zero Tax Subtotal è ora applicata come previsto per gli ordini nelle distribuzioni che offrono più metodi di spedizione. In precedenza, il campo imposta zero era visibile sulla pagina del carrello durante il pagamento prima che fosse selezionato un metodo di spedizione anche quando questa impostazione era disabilitata. GitHub-35561
  • Adobe Commerce ora può visualizzare prodotti raggruppati con imposta sulla pagina delle categorie di vetrina nelle distribuzioni che eseguono PHP 8.1. In precedenza, Adobe Commerce non visualizzava un elenco di prodotti e generava questa eccezione: main.CRITICAL: Exception: Deprecated Functionality: ucfirst(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/m24/vendor/magento/module-tax/Pricing/Render/Adjustment.php on line 188 in /var/www/m24/vendor/magento/framework/App/ErrorHandler.php:61. GitHub-35500
  • Gli esercenti non possono più spostare un aggiornamento pianificato in un altro aggiornamento che contiene lo stesso ID regola. In precedenza, gli aggiornamenti della pianificazione per le regole di prezzo del carrello creavano pianificazioni duplicate quando un aggiornamento veniva spostato in un altro aggiornamento che conteneva lo stesso ID regola.
  • L'assegnazione automatica del gruppo di clienti ora funziona quando non è associato alcun ID IVA all'indirizzo del cliente. Se l’indirizzo non contiene un ID IVA, viene considerato come appartenente a un cliente non IVA registrato e Adobe Commerce modifica il gruppo di clienti in un gruppo non IVA. In precedenza, quando Enable Automatic Assignment to Customer Group era abilitato, l'account cliente non veniva assegnato automaticamente a customerGroup quando l'ID IVA veniva eliminato dall'account cliente.
  • Ora vengono visualizzati i blocchi dinamici corretti per le regole del catalogo di staging in modalità anteprima di staging. In precedenza, venivano visualizzati blocchi dinamici non correlati.
  • Se durante l'estrazione viene applicata la spedizione multipla, nella sezione Sintetico imposte delle fatture e delle note di accredito vengono ora visualizzate correttamente più imposte.
  • Gli sconti non vengono più applicati quando il subtotale di un ordine, imposte incluse, insieme all'importo dell'imposta fissa sul prodotto supera la condizione della regola del carrello nella pagina del carrello. In precedenza, gli sconti venivano applicati anche quando il totale superava la condizione della regola del carrello.
  • È ora possibile specificare vat_id quando si utilizza GraphQL per aggiungere o aggiornare l'indirizzo di un acquirente guest.

Test

  • Sono stati corretti gli errori relativi agli unit test per diverse versioni delle librerie ICU e libxml.
  • Ora gli sviluppatori possono dare istruzioni al sistema di eseguire uno staffaggio di dati in una visualizzazione store specifica. Il nuovo parametro facoltativo scope accetta un string che corrisponde all'alias dello staffaggio dell'archivio.
  • Aggiunta la possibilità di generare più istanze di uno staffaggio dati utilizzando il parametro facoltativo count.
  • Funzione array_first non nativa rimossa dalle dipendenze di sviluppo nel framework MFTF.

Traduzioni e lingue

  • La traduzione in linea ora funziona correttamente con i caratteri speciali, inclusi i caratteri Unicode estesi nelle frasi situate nei tag SCRIPT. In precedenza, i caratteri giapponesi venivano rappresentati in modo errato nello script modificato quando si utilizzava la traduzione in linea.
  • Il carattere ñ in un nome di prodotto è ora convertito in n durante la generazione della chiave URL.
  • L'output dell'esecuzione di bin/magento i18n:collect-phrases ora include le traduzioni dei modelli di posta elettronica nei costrutti depend come previsto. GitHub-35449
  • I caratteri giapponesi possono ora essere immessi direttamente nel set di attributi della pagina di prodotto (casella combinata). In precedenza, l’immissione diretta di caratteri giapponesi in questa casella combinata causava la modifica o l’eliminazione di caratteri durante l’esecuzione del browser Firefox su MacOS. L'attributo HTML textInput, che può gestire meglio la conversione dei caratteri giapponesi in tutti i browser, ha sostituito gli attributi Value e valueUpdate.
  • Il metodo getOptions ora recupera correttamente i valori delle etichette degli attributi price in base alla vista archivio. In precedenza, l'attributo price veniva tradotto durante le operazioni di GraphQL per una visualizzazione archivio non corretta.

UI

  • La valuta specifica per il sito Web viene ora utilizzata come previsto per le colonne Prezzo speciale, Costo e PSRM nella griglia dei prodotti Amministratore. In precedenza, il simbolo di valuta corretto non veniva visualizzato nella griglia dei prodotti del catalogo di amministrazione quando si filtrava in base alla visualizzazione del negozio per un prezzo speciale.
  • La funzionalità di trascinamento delle opzioni personalizzate del prodotto ora funziona come previsto. È ora possibile spostare un’opzione personalizzabile da una pagina all’altra quando nella griglia delle opzioni personalizzabile sono disponibili più pagine.
  • Nei grafici del dashboard di amministrazione vengono ora visualizzati gli intervalli di tempo da inizio anno dell'anno di calendario corrente alla data corrente, come previsto. In precedenza, gli intervalli di date includevano più di 12 mesi.
  • Nella home page della vetrina è stata aggiunta una favicon predefinita mancante. GitHub-35493
  • L’amministratore ora visualizza correttamente la data di accesso più recente di ogni utente amministratore. In precedenza, quando un utente amministratore effettuava il primo accesso all’amministratore, nella griglia degli utenti amministratore veniva visualizzato un valore di data di accesso vuoto.
  • La funzionalità di anteprima del modello di e-mail (Marketing > Communications > Email Templates) ora visualizza correttamente i modelli. In precedenza, l’immagine di anteprima veniva troncata. GitHub-35697
  • Aggiunta della classe new-shipping-address-modal per supportare lo stile del nuovo indirizzo di spedizione modale.
  • Aggiunto testo informativo sotto il campo di input Storefront Properties dell'attributo Search Weight nell'amministratore Stores > Attributes > Product.
  • Le anteprime e-mail ora si aprono in una scheda separata invece di una finestra a comparsa, che fornisce una visualizzazione più ampia del contenuto dell’e-mail. In precedenza, il contenuto delle e-mail veniva troncato.
  • La funzione filtro per la griglia del ruolo utente (Admin System > Permissions > User roles > Administrators) ora funziona come previsto. Il valore dell’array viene ora gestito separatamente. In precedenza, quando si tentava di immettere una query in questa griglia, Adobe Commerce generava questo errore della console e la pagina non veniva caricata: Uncaught TypeError: Cannot read properties of null. GitHub-35993
  • È stata aggiunta la convalida dei valori degli attributi durante la creazione di un cliente tramite l’API REST. Il processo di creazione ora ha esito negativo quando vengono forniti valori di attributi non validi. In precedenza, non vi era alcuna convalida per il genere, che non è un campo obbligatorio. Durante la creazione del cliente, il valore passato per il genere è stato salvato nella tabella customer_entity.
  • Gli indirizzi aggiunti durante l’estrazione ora mantengono il formato previsto. In precedenza, le righe vuote venivano ignorate.
  • La modifica della vista griglia delle colonne della griglia del prodotto e la selezione di nuove colonne per una vista personalizzata non attivano più l’azione Seleziona tutte le colonne della griglia. In precedenza, la casella della colonna scompariva e i prodotti nella griglia venivano selezionati o deselezionati. GitHub-36302
  • Gli utenti amministratori possono ora cancellare il registro delle attività completate dall’amministratore. In precedenza, l'amministratore visualizzava questo errore: Something went wrong. GitHub-36255
  • L'impostazione dell'intestazione del tema Welcome Text può ora contenere virgolette singole. In precedenza, Adobe Commerce ha generato questo errore JavaScript: Uncaught SyntaxError: Unable to process binding "ifnot: function(){return customer().fullname }".

Riscritture URL

  • La modifica della visibilità del prodotto in Not Visible Individually nell'ambito globale Tutte le visualizzazioni dello store ora rimuove solo le riscritture URL per le visualizzazioni dello store che non hanno sostituito l'attributo di visibilità. Se si modifica in questo modo la visibilità del prodotto, vengono generate anche le riscritture URL per tutte le visualizzazioni dello store, incluse quelle che hanno sostituito l’attributo chiave URL (ma non l’impostazione di visibilità). In precedenza, le regole di riscrittura URL non venivano applicate quando venivano modificate le impostazioni di visibilità.

Visual Merchandiser

  • Non puoi più modificare manualmente le posizioni dei prodotti negli elenchi di categorie di Visual Merchandiser quando i prodotti corrispondono a una regola.
  • Gli utenti amministratori con accesso limitato a un solo archivio non possono più trascinare e rilasciare prodotti all’interno di una categoria in Visual Merchandiser. È ora possibile utilizzare la colonna Position per riorganizzare la posizione del prodotto. In precedenza, questi utenti potevano cambiare la posizione del prodotto all’interno di una categoria solo tramite trascinamento.
  • La sezione Prodotti nella categoria della pagina di modifica della categoria visualizza ora la quantità corretta di prodotti configurabili. La colonna corretta della tabella viene ora utilizzata per recuperare la quantità di prodotti configurabili.

Framework API web

  • L'API REST DELETE /rest/V1/products/:sku/media/:entryId ora restituisce un messaggio di errore se l'immagine non viene rimossa dal prodotto perché assegnata a un ruolo in altre visualizzazioni dello store. In precedenza, l’API restituiva una risposta corretta anche quando l’immagine non veniva rimossa correttamente.
  • Gli esercenti possono ora utilizzare l’API REST per creare una nota di credito per un ordine con totale complessivo pari a zero. In precedenza, Adobe Commerce visualizzava questo errore: The order does not allow a credit memo to be created. The credit memo's total must be positive. We can't create a credit memo for the invoice/order.
  • La pagina di modifica del prodotto Amministratore ora riflette accuratamente le assegnazioni di un prodotto dopo che l’assegnazione del sito web del prodotto è stata modificata utilizzando l’API REST. GitHub-36281
  • Non è più possibile includere ID di opzione duplicati per gli attributi a selezione multipla durante richieste REST API in massa per l’aggiornamento dei prodotti. In precedenza, era possibile impostare ID opzione duplicati per gli attributi a selezione multipla quando si inviava una richiesta API in blocco per aggiornare un prodotto. Quando l'attributo di selezione multipla è stato configurato per l'inclusione nella navigazione a livelli, l'indicizzazione EAV non è riuscita con un errore Duplicate entry.
  • I nomi dei prodotti nei carrelli acquisti ora utilizzano i valori della vista negozio specificata come previsto. In precedenza, i nomi dei prodotti nel carrello restituivano sempre il valore predefinito per la visualizzazione archivio nelle risposte al carrello REST API.
  • Ora è possibile aggiornare i valori delle opzioni personalizzate dell’elemento del carrello utilizzando l’API REST. GitHub-35768
  • Le richieste API in blocco per più di 20 sourceItems ora vengono completate correttamente nelle distribuzioni in cui Inventory è abilitato.
  • Il servizio valuta Fixer ora funziona come previsto con le chiavi generate tramite ApiLayer e i tassi di valuta vengono esportati correttamente. In precedenza, Adobe Commerce generava un errore quando un commerciante tentava di importare i tassi di valuta tramite l’amministratore.
  • È ora possibile utilizzare la richiesta REST API /rest/V1/bulk?searchCriteria[filter_groups] per eseguire query sulle operazioni in blocco in base ai criteri di ricerca. In precedenza, veniva restituito il seguente errore: report.CRITICAL: Report ID: webapi-624bbb1db96c4; Message: Item (Magento\AsynchronousOperations\Model\Operation) with the same ID "0" already exists.
  • I prezzi dei prodotti ora vengono aggiornati correttamente sia nelle pagine di ricerca del catalogo dell’amministratore che in quelle della vetrina tramite l’API Gestisci prezzo base. GitHub-33767

Lista dei desideri

  • Dopo l’accesso, gli acquirenti possono ora aggiungere prodotti alla loro lista dei desideri. In precedenza, a causa di problemi con la convalida della chiave del modulo dopo l’accesso, la chiave del modulo inviata con la richiesta di aggiunta alla lista dei desideri veniva invalidata.
  • I prodotti vengono ora aggiunti come previsto alla lista dei desideri dalla lista dei prodotti e vengono visualizzate le pagine dopo che un cliente ospite conferma il proprio account da un’e-mail di conferma. In precedenza, i prodotti non venivano aggiunti alla lista dei desideri dopo la conferma dell’account.
  • La query addProductsToWishlist ora restituisce un messaggio di errore informativo quando un acquirente tenta di aggiungere un elemento a una lista dei desideri con un valore non valido per l'opzione personalizzata select del prodotto. In precedenza, mancava la convalida del server per il valore dell’opzione personalizzata dell’elenco a discesa, che causava un valore non valido nel database. L'endpoint ha restituito l'errore interno del server: GraphQL endpoint returns Internal server error with "Call.

Problema noto

Problema: dopo un aggiornamento ad Adobe Commerce 2.4.6 o versioni successive da versioni di prodotto precedenti alla 2.4.5, le etichette delle regole di vendita in staging potrebbero non corrispondere. Soluzione alternativa: applicare ACSD-50625_2.4.5-P1.patch durante l'aggiornamento prima del passaggio Aggiorna metadati. Consulta problemi relativi alle etichette salesRules durante l'aggiornamento dall'articolo della Knowledge Base versioni < 2.4.5.

Passaggi generali per la risoluzione del problema:

  1. Scarica la patch richiesta. Consulta i problemi relativi alle etichette salesRules durante l’aggiornamento dall’articolo della Knowledge Base versioni < 2.4.5.
  2. Segui i passaggi di aggiornamento descritti nella fase Gestisci pacchetti del processo di aggiornamento Esegui un aggiornamento.
  3. Applicare questa patch durante l'aggiornamento dopo la fase Gestisci pacchetti e prima della fase Aggiorna metadati.Vedere Come applicare una patch del compositore fornita da Adobe .
  4. Completa il processo di aggiornamento.

Problema: non è possibile creare una nota di accredito se la spedizione gratuita è abilitata (Stores > Configuration > Sales > Delivery Methods) e il prezzo di spedizione visualizzato include le imposte. Quando si tenta di creare una nota di credito, Adobe Commerce genera l'eccezione: "Division by zero".vendor/magento/module-sales/Model/Order/Creditmemo/Total/Tax.phpLine 139. GitHub-36800

Soluzione: è ora disponibile un hotfix per questo problema. Vai a Strumento Patch di qualità: cerca le patch e cerca la patch ACSD-50814.

Contributi dei partner

Nella tabella seguente vengono evidenziati i contributi dei partner. Questa tabella elenca il Partner che ha contribuito alla richiesta di pull, il numero della richiesta di pull esterna e il numero del problema GitHub associato (se disponibile).

Partner
Richieste pull
Problemi GitHub correlati
E commerciale
magento/magento2#36529 magento/magento2#36224 magento/magento2#34117
magento/magento2#36726 magento/magento2#35546 magento/magento2#36334 magento/magento2#36628
Elgentos
magento/magento2#36414
magento/magento2#36831
Occhio di pesce
magento/magento2#36329 magento/magento2#36304 magento/magento2#36239 magento/magento2#36187 magento/magento2#35738 magento/magento2#35631 magento/magento2#35540 magento/magento2#35436magento/magento2#35033🔗 magento magento2#34186 🔗
magento/magento2#36641 magento/magento2#36338 magento/magento2#36554 magento/magento2#36646 magento/magento2#36648 magento/magento2#35325 magento/magento2#35711 magento/magento2#35488magento/magento2#34321
Prospettiva Studio
magento/magento2#36036 magento/magento2#36031 magento/magento2#36027
magento/magento2#36337
COMMERCE MRM
magento/magento2#35807 magento/magento2#32979
magento/magento2#35994
Interattivo4
magento/magento2#35564
magento/magento2#35568
Atwix
magento/magento2#33411 magento/magento2#33148 magento/magento2#33093 magento/magento2#32889 magento/magento2#32481 magento/magento2#31794 magento/magento2#29417 magento/magento2#25677
magento/magento2#35858 magento/magento2#29418
Consulenza Aligent
magento/magento2#31606
magento/magento2#31643 magento/magento2#31866
Acorn blu iCi
magento/magento2#31360 magento/magento2#31355
magento/magento2#31443 magento/magento2#31373 magento/magento2#32625
creativestyle
magento/magento2#30647
magento/magento2#30672 magento/magento2#32985 magento/magento2#30613

Contributi dei singoli collaboratori

La tabella seguente identifica i contributi dei membri della community. Questa tabella elenca il membro della community che ha contribuito alla richiesta di pull, il numero della richiesta di pull esterna e il numero del problema GitHub associato (se disponibile).

Membro community collaboratore
Richieste pull
Problemi relativi a GitHub
Amenk ·
Magento/Magento2#36663
magento/magento2#14495
comodo
magento/magento2#36529
magento/magento2#36726 magento/magento2#35546
hostep
magento/magento2#36495
magento/magento2#36515
sinhaparul
magento/magento2#36458
magento/magento2#36639
barryvdh
magento/magento2#36452
magento/magento2#32004 magento/magento2#36891
peterjaap
magento/magento2#36414
magento/magento2#36831
engcom-Delta
magento/magento2#36411
magento/magento2#35971 magento/magento2#36841
freezy-sk
magento/magento2#36379
magento/magento2#36640
ilnytsky
magento/magento2#36370
magento/magento2#36482 magento/magento2#36471
pikettk
magento/magento2#36329
magento/magento2#36641
fredden
magento/magento2#36304
magento/magento2#36338
asim-blueprintprep
magento/magento2#36253
magento/magento2#36252
texboy
magento/magento2#36241
magento/magento2#36349 magento/magento2#29448
comodo
magento/magento2#36224
Magento/Magento2#36334
Fredden ·
Magento/Magento2#36187
Magento/Magento2#36554
Serbynskyi
magento/magento2#36036
magento/magento2#36337
dshevtsov
magento/magento2#35990
Magento/Magento2#36230 Magento/Magento2#36651
Bashev
Magento/Magento2#35986
🔗Magento/Magento2#35899 Magento/Magento2#36055 🔗 Magento/Magento2#36312 🔗 Smile-SA/elasticsuite#2772 Idraulico/Modulo-Layered-navigazione-Fix-Magento-2.4.5#1 🔗
lbajsarowicz
magento/magento2#35948
magento/magento2#36539
tkotosz
Magento/Magento2#35940
Magento/Magento2#36642
MeCapron
Magento/Magento2#35885
Magento/Magento2#36042
amaca
magento/magento2#35848
magento/magento2#35939
Viper9x
magento/magento2#35846
magento/magento2#36643
lalittmohan
magento/magento2#35818
magento/magento2#36644
vo1
magento/magento2#35817
magento/magento2#36645
pecore
Magento/Magento2#35816
Magento/Magento2#36593
Bgorski
Magento/Magento2#35807
magento/magento2#35994
pikettk
magento/magento2#35738
magento/magento2#36646
mrtuvn
magento/magento2#35656
magento/magento2#36647
pikettk
magento/magento2#35631
magento/magento2#36648
pmzandbergen
magento/magento2#35572
magento/magento2#35579 Smile-SA/magento2-module-store-locator#134
osrecio
magento/magento2#35564
magento/magento2#35568
fredden
magento/magento2#35540
magento/magento2#35325 magento/magento2#35711
nicka101
magento/magento2#35524
Magento/Magento2#35719
Nazarklovanych
Magento/Magento2#35441
Magento/Magento2#35558
pykettk
Magento/Magento2#35436
magento/magento2#35488
VladyslavSikailo
magento/magento2#35216
Magento/Magento2#35417
Sental
Magento/Magento2#35060
Magento/Magento2#32177
novakivskiy
magento/magento2#34992
magento/magento2#34991
erfanimani
Magento/Magento2#34232
Magento/Magento2#34246 Magento/Magento2#34247
Fredden ·
Magento/Magento2#34186
Magento/Magento2#34321
conveniente
Magento/Magento2#34117
magento/magento2#36628
khoimm92
magento/magento2#34061
Magento/Magento2#35481
dudzio12
Magento/Magento2#33892
magento/magento2#33820
kassner
magento/magento2#33859
magento/magento2#34439
duxabilii
Magento/Magento2#33841
Magento/Magento2#35187
Sergeynezbritskiy
Magento/Magento2#33803
magento/magento2#33802
sean-breeden
magento/magento2#33742
magento/magento2#34524
SilinMykola
magento/magento2#32889
magento/magento2#35858
aligent-lturner
magento/magento2#31606
magento/magento2#31643 magento/magento2#31866
lbajsarowicz
magento/magento2#31360
magento/magento2#31443
lbajsarowicz
magento/magento2#31355
magento/magento2#31373 magento/magento2#32625
krzksz
magento/magento2#30647
magento/magento2#30672 magento/magento2#32985 magento/magento2#30613
Usik2203
magento/magento2#29417
magento/magento2#29418

Requisiti di sistema

Il nostro stack tecnologico è basato su PHP e MySQL. Per ulteriori informazioni, vedere Requisiti di sistema.

Istruzioni di installazione e aggiornamento

È possibile installare Adobe Commerce 2.4.6 utilizzando Composer.

recommendation-more-help
1d4eef6c-fef1-4e61-85eb-b58d7b9ac29f