Tutorial: come fare i reindex su Magento 1 (indici delle tabelle)

Oggi vediamo come fare i reindex su Magento 1.
I reindex sono sempre una scocciatura. Quante volte vi sarà capitato di aver fatto una modifica ad un prodotto, ad una categoria o ad un attributo per poi andare a controllare in front-end e vedere che tutto era come prima?

Delle volte la colpa è della cache, altre volte la colpa va attribuita ai reindex. Sopratutto nel caso in cui si fanno delle modifiche, appunto, a dei valori degli attributi e magari non si ha impostato il reindex al momento del salvaggio.

Questo problema è ancora più ricorrente se si utilizzano le tabelle flat che devono essere ogni volta ricreate, soprattutto quando si crea un nuovo attributo nel catalogo prodotto o categorie (vedi articolo come attivare le tabelle flat),

La griglia degli indici la raggiungiamo dal menù del pannello di amministrazione di Magento, in Sistema => Gestione Indice:

Griglia indici

Questo screen che vi riporto, con la griglia degli indici, è la migliore delle situazioni. Cioè, tutti gli indici sono allineati alle nostre modifiche, quindi in front-end tutte le modifiche fatte sull’admin saranno visibili in modo aggiornato.

Se avessimo, invece, degli indici da aggiornare, potrebbe bastare selezionare l’indice da aggiornare (oppure “Seleziona tutto” nell’header della nostra griglia), spuntando la casella nella prima colonna della riga che ci interessa. Dopo di che, come in molte delle griglie di magento, nella parte di destra troviamo le azioni e il pulsante invia.

In questo caso le azioni sono 2:

  • Reindicizzazione Informazioni
  • Cambio modalità Indicizzazione

Reindicizzazione Informazioni

La prima è quella che fa al caso nostro: una volta terminato il processo potrebbe essere che qualche altro indice (essendo che lavorano a cascata) sia da aggiornare.

Questa è la modalità da amministrazione, ma può essere lanciato anche via script dalla cartella shell, sotto la root del progetto con il comando:

  • php indexer.php –reindex all (questo comando serve per lanciare uno dietro l’altro in automatico il reindicizzamento di tutte le tabelle) la durata dell’esecuzione dello script può variare in base alla grandezza del catalogo, numero e valore di attributi ecc.
  • php indiexer.php –info (ci fa vedere i nomi degli indici da impostare nel caso in cui basta aggiornare solo un indice specifico)
  • php indiexer.php –status (ci permette di conoscere lo stato degli indici)

Cambio modalità Indicizzazione

La seconda scelta serve per modificare la tipologia di reindicizzazione. Infatti, avremo un secondo menù a tendina che compare in seguito alla scelta:

“Aggiornamento al momento del salvataggio” ci terrà sempre aggiornati gli indici; ci rallenterà magari in fase di salvataggio, ma verrà aggiunto agli indici solo il record che stiamo modificando.

Nella modalità manuale dovremmo lanciare, come spiegato prima, il reindex, ma in questo caso la durata dell’esecuzione sarà maggiore perché verrà rifatto, appunto, tutto l’indice da zero.

Tutorial: come attivare le tabelle flat in Magento 1

Oggi vediamo come attivare le tabelle Flat su Magento 1.
Per prima cosa, dobbiamo parlare dell’importanza di queste tabelle e a cosa servono.

Queste tabelle sono fondamentali a livello di prestazioni, in quanto, per reperire il dato di una categoria o prodotto, basterà una query su un record e non l’interrogazione di più tabelle per tipo di attributo. Perché, a differenza di queste ultime, le flat riportano per ogni record tutti i dati che nelle altre tabelle sono divise per store view e attributo.

Queste tabelle sono create dinamicamente e vengono popolate nel momento in cui si fanno girare i reindex.
Nel db avremo una tabella flat per ogni store view presente sul sito.
Una volta attivata, quindi, la struttura del nostro database varierà. Ci ritroveremo ad avere le tabelle divise per tipo di attributo, sia per categorie che per prodotti. Queste tabelle vengono popolate e usate nelle modifiche fatte in admin.
Quindi sarà importante far girare i reindex (se non impostati al salvataggio) una volta terminate le modifiche per poi ripopolare le flat e avere i dati corretti anche in front-end.

Ma ora vediamo dove dobbiamo andare su Magento, per attivarle. Nel panello di amministrazione dal menu Sistema => Configurazione => Abbiamo la tab Catalogo sotto la label Catalogo

Schermata catalogo => front-end

Sotto la tab Frontend, ci basterà impostare su “si” le due voci sottolineate in rosso:

  • Usa il Catalogo Flat per le categorie;
  • Usa il Catalogo Flat per i prodotti;

Una volta fatto, bisognerà salvare la configurazione con il pulsante in alto a destra. Dopo di che, far girare i reindex e pulire la cache.

Tutorial: modifiche massive prodotti Magento 1

Oggi vediamo come modificare più prodotti contemporaneamente su Magento 1.
Molte volte mi è stata fatta questa richiesta da parte di clienti, per capire come modificare diversi prodotti in uno stesso momento.

Magento mette a disposizione in molte delle sue griglie di amministrazione le modifiche massive. Prendendo, ad esempio, la griglia dei prodotti, raggiungibile dal menu in admin Catalogo => Gestisci Prodotti.
In questo modo noi possiamo selezionare un insieme di prodotti, usando i filtri che ci interessano, per poi selezionare i prodotti ottenuti come risultato dei filtri e fare delle modifiche agli attributi.

Griglia prodotti

Come si può vedere dall’immagine (Griglia prodotti), la prima colonna della griglia è formata da una checkbox; qui andremo a spuntare i prodotti che vogliamo modificare, altrimenti, è possibile usare i pulsanti sopra:

  • Seleziona tutto: Seleziona tutti i prodotti in griglia
  • Deseleziona tutto: Deseleziona tutti i prodotti presenti in griglia
  • Seleziona visibile: Seleziona tutti i prodotti presenti sulla pagina della griglia che stiamo guardando
  • Deseleziona visibili: Deseleziona tutti i prodotti presenti sulla pagina della griglia che stiamo guardando

Una volta scelti i prodotti, in alto a destra troviamo il campo Azioni, con alla sua destra un menu a tendina, dove potremo selezionare le nostre azioni da compiere sui prodotti selezionati. Successivamente clicchiamo sul pulsante Invia.

Le Azioni standard di Magento sono per la griglia prodotti:

  • Elimina
  • Cambio Stato
  • Aggiorna attributi

La funzione Elimina, non farò altro che, come indica il termine, cancellare i prodotti dal nostro e-commerce.

La funzione Cambio Stato, ci darà modo di scegliere da un nuovo menù a tendina lo stato da impostare ai prodotti; ecco gli stati:

  • Abilitato
  • Disabilitato

Per completare la scelta bisogna, come detto prima, cliccare sul tasto Invia.

L’ultima funzionalità, è quella dell’Aggiornamento attributi, che prevede di atterrare, dopo aver cliccato sul pulsante Invia, su una schermata simile a quella che ritroviamo entrando nel dettaglio di un prodotto dal pannello di amministrazione.

Per cambiare il valore dell’attributo prodotto spuntare la casella sotto l’attributo e e poi Salvare.

Dettaglio Aggiornamento attributi

Magento 2.3.4 – novità della release

Il 29 Gennaio 2020 Adobe ha rilasciato la nuova versione di Magento 2, precisamente la 2.3.4.
In questa versione sono stati risolti 275 bug, sono state anche rilasciate le patch di sicurezza (scaricabili anche separatamente per chi non vuole aggiornare l’intera versione di Magento).

L’aggiornamento più importante di questa release è sicuramente l’adeguamento agli standard PSD2 per i metodi di pagamento.

Magento Open Source 2.3.4 presenta significativi aggiornamenti della piattaforma, notevoli cambiamenti in fatto di sicurezza e adeguamenti agli standard PSD2 per i metodi di pagamento.

La nuova release include oltre 220 fixes funzionali e oltre 30 miglioramenti dei sistemi di sicurezza. Include, inoltre, la risoluzione di oltre 275 bug dai membri della community. Questi contributi della community spaziano dalla minore pulizia alla base del codice, fino ad arrivare a significativi miglioramenti di Inventory Management e GraphQL.

Scaricare ed eseguire il DB_CLEANUP_SCRIPT.php script

Questo aggiornamento rapido risolve un problema con CVE-2019-8118, il quale era incluso in Magento 2.3.3 e 2.2.10. Mentre il fix originale per quel bug ha fermato la registrazione di tentativi di accesso non riusciti, le informazioni raccolte prima dell’aggiornamento di queste versioni correnti potrebbero ancora esistere, e quelle precedenti, versioni senza patch di Magento, potrebbero ancora presentare questo problema (/questa questione).

Questo aggiornamento rapido (hotfix) fornisce uno script che cancella i tentativi di accesso precedentemente raccolti. Si consiglia a tutti i merchants di scaricare ed eseguire questo script (vedere i tentativi di accesso non riusciti dal database, per informazioni su come scaricare ed eseguire questo script di pulizia del database).

Impiegare il problema del Paypal Express checkout con patch per Magento 2.3.4, per risolvere la critica questione del Paypal Express Checkout.

Questo problema riguarda gli ordini effettuati con Paypal Express checkout, in cui l’indirizzo di spedizione degli ordini specifica una regione del paese che è stata inserita manualmente nel campo del testo anziché selezionata dal drop-down menù (menù a discesa) nella pagina “spedizione”.

Quando il cliente inserisce una regione nel campo di testo, Magento genera questo errore:

Error 500: NOTICE: PHP message: PHP Fatal error: Uncaught Error: Call to a member function getId() on null in httpdocs/vendor/magento/module-paypal/Model/Api/Nvp.php:1527.

Quando il cliente seleziona la regione del paese dal drop-down menù e quando effettua un ordine, questo viene completato con successo. Entrambe le patch Git-based e Composer-based sono disponibili. Il fix a questo problema sarà incluso in Magento 2.3.5, uscita prevista per Aprile 2020.

Patch di sicurezza disponibile

I merchants possono ora installare time-sensitive security fixes senza applicare le centinaia di correzioni e miglioramenti che forniscono una versione trimestrale completa (ad esempio Magento 2.3.4). La patch 2.3.3.1 (composer package 2.3.3-p1) è una patch di sicurezza che fornisce fixes per le vulnerabilità identificate nella precedente versione trimestrale, Magento 2.3.3.

La patch 2.3.3.1 (composer package 2.3.3-p1) è una patch di sicurezza che fornisce fixes per le vulnerabilità identificate nella precedente versione trimestrale, Magento 2.3.3. Tutte le hotfix applicate alla release del 2.3.3 sono incluse in questa patch di sicurezza (una correzione rapida, hotfix, fornisce un fix ad una rilasciata versione di Magento che risolve un problema specifico o un bug).

Con questa release trimestrale abbiamo cambiato il modo in cui descriviamo questi problemi di sicurezza. I singoli problemi non sono più descritti nel Magento Security Center; sono documentati, invece, in un bollettino di Adobe Security.

Consulta gli aggiornamenti di sicurezza disponibili per Magento APSB20-02 (https://helpx.adobe.com/security/products/magento/apsb20-02.html).

Highlights (/– Punti salienti) – Notevoli miglioramenti di sicurezza

Questa release include i seguenti miglioramenti in materia di sicurezza.

Oltre 30 miglioramenti che aiutano a risolvere le vulnerabilità relative al cross-site scripting (XSS) e al remote code execution (RCE). 

Alcune vulnerabilità possono essere potenzialmente sfruttate per accedere alle informazioni sui clienti o assumere funzioni relative all’area amministrativa (administrator sessions).

In merito a ciò è consigliabile adottare tutti i passaggi necessari per proteggere il proprio Admin, inclusi, ma non limitati, a questi sforzi: IP whitelisting; autenticazione a due fattori; utilizzo di una VPN; l’utilizzo di un’unica posizione; e un frequente aggiornamento delle password.

Consulta il bollettino Adobe Security per le questioni risolte relative a queste problematiche. Tutti le esperienze sfruttabili ed i conosciuti problemi di sicurezza sono risolti in questa release (2.3.4) e in 2.2.11, 1.14.4.4, e 1.9.4.4.

Miglioramenti della sicurezza e fixes al core cod includono:

  • Rimozione degli aggiornamenti di layout personalizzati e disapprovazione degli aggiornamenti di layout per rimuovere l’opportunità di Remote Code Execution (RCE). Il campo di Custom Layout, nelle CMS Page Edit, Category Edit e Product Page Edit, è stato ora convertito in un selettore. Non è più possibile specificare un aggiornamento specifico del layout con il testo, ma è invece necessario creare un file fisico che contenga gli aggiornamenti del layout e selezionarlo per l’uso. Il nome del file contenente un aggiornamento deve seguire le convenzioni qui descritte: https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/layout-extend.html .
  • Riprogettate le funzionalità del modello del contenuto, in modo che solo le variabili whitelisted possono essere aggiunte ai templates. Ciò evita la situazione in cui administrator-defined templates, come e-mail, newsletter e CMS content possano includere variabili e direttive che direttamente possano chiamare funzioni PHP sugli oggetti.

(vedere migrating custom email templates https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/templates/template-email-migration.html e Email templates https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/templates/template-email.html).

A partire dalla release di Magento Commerce 2.3.2, Magento assegnerà e pubblicherà i numeri indicizzati di Common Vulnerabilities and Exposure (CVE), numeri con ogni bug di sicurezza segnalati da parti esterne. Ciò consente agli utenti di Magento Commerce di identificare più facilmente le vulnerabilità non indirizzate alla loro distribuzione.

Aggiornamenti della piattaforma

I seguenti aggiornamenti della piattaforma aiutano a migliorare la sicurezza del sito web e la conformità del PCI.

  • Milgioramenti al framework della coda dei messaggi. Magento ora supporta l’ultima versione di RabbitMQ v3.8, la tecnologia alla base del framework delle code dei messaggi di Magento.
  • Migliorate le cache della pagina e della session storage. Questa versione è stata testata sull’ultima versione di Redis v5.0.6.
  • Supporto avanzato per MariaDB 10.2. Prima di Magento 2.3.4, quando si utilizzava lo schema dichiarativo con MariaDB 10.2, Magento emetteva un errore indicando che lo schema non era aggiornato dopo aver eseguito l’installazione bin/magento setup:upgrade. Con questa release, sono stati normalizzati i valori restituiti da MariaDB, che consente agli integratori di sistemi di utilizzare lo schema dichiarativo con MySQL e MariaDB.
  • L’integrazione principale del metodo di pagamento Authorize.net è stata disapprovata. È necessario, quindi, utilizzare l’integrazione di pagamento ufficiale disponibile sul Marketplace.

(Nota: Magento 2.3.4 non è stato testato con PHP 7.1. PHP 7.1 ha raggiunto EOL (End of Life) il 1° dicembre 2019. È consigliabile aggiornare la propria distribuzione ad una versione supportata di PHP. Consulta gli stack requirements di Magento 2.3 per informazioni relative alle versioni supportate:

https://devdocs.magento.com/guides/v2.3/install-gde/system-requirements-tech.html).

Aumento delle prestazioni

Merchants e clienti vedranno miglioramenti delle prestazioni a seguito di queste adozioni:

  • Richieste ridondanti, non memorizzate nelle cache del server nelle pagine del catalogo, sono state eliminate tramite il refactoring del meccanismo d’invalidazione della sezione del cliente e migliorando la logica della cache del banner.
  • I file PHTML sono stati ri-fattorizzati per un supporto migliore dell’analisi tramite il meccanismo di raggruppamento. Questo nuovo meccanismo di raggruppamento identifica ora tutte le dipendenze da Javascript.
  • È stata aggiunta la possibilità di disabilitare la raccolta delle statistiche per il Reports module, per impostazione predefinita (default). Una nuova impostazione di configurazione (System Configuration> General> Reports> General Options) consente ai merchants di disabilitare parzialmente o completamente Magento Reports. (La raccolta delle statistiche per i moduli di Reports è disabilitata di default. Magento consiglia di disabilitare la data funzionalità per motivi di performance, quando questa funzionalità non è richiesta).

Miglioramenti dell’infrastruttura

Questa release contiene 250 miglioramenti core quality, i quali migliorano la qualità del Framework e dei seguenti moduli: catalog, sales, PayPal, Elasticsearch, import, e CMS.

Miglioramenti degli strumenti dei merchants

  • Integrazione con le gallerie di immagini di Adobe Stock.

La nuova estensione di integrazione di Adobe stock in bundle consente ai merchants di aggiungere risorse multimediali di alta qualità al contenuto del proprio sito web senza uscire dal Magento Admin. Possono usare la searchable interface nella Magento Media Gallery per eplorare, visualizzare in anteprima, concedere in licenza e distribuire immagini stock nel contenuto del sito web.

(Consultare Adobe stock integration https://docs.magento.com/m2/ee/user_guide/cms/adobe-stock.html?_ga=2.202960470.678624806.1586802973-963814469.1586535780 e Utilizzo di Adobe stock images https://docs.magento.com/m2/ee/user_guide/cms/adobe-stock-manage.html?_ga=2.36545127.678624806.1586802973-963814469.1586535780 ).

Inventory management (Gestione delle scorte)

I miglioramenti dell’Inventory management per questa release includono:

  • Risolto un noto problema di prestazioni che causava carichi troppo alti sul database server in scenari che coinvolgono lo shopping cart.
  • Aggiornato il comando “Inventory Reservations CLI” per ridurre l’utilizzo della memoria quando si trovano e si compensano le prenotazioni mancanti su grandi cataloghi.
  • Risolti diversi problemi qualitativi, inclusi quelli relativi a note di credito, grouped products, azioni sullo stock.

(Consultare  Inventory Management Release Notes per una discussion più dettagliata dei recenti Inventory bug fixes https://devdocs.magento.com/guides/v2.3/inventory/release-notes.html ).

GraphQL

Questa release include una migliore copertura GraphQL per la ricerca, per la navigazione su più livelli, per la funzionalità del carrello. Sono disponibili le seguenti query:

  • i Guest carts possono essere ora uniti ai carrelli dei clienti. Questa mergeCarts mutation trasferisce il contenuto di un guest cart in quello di un cliente che ha effettuato l’accesso.
  • Un cliente può avviare un ordine da un dispositivo e completarlo su un altro: utilizzando la query customerCart per ottenere l’ID carrello per un cliente logged-in.
  • Una navigazione a più livelli può utilizzare filtri personalizzati. L’attributo filtro della query dei prodotti richiede ora l’oggetto ProductAttributeFilterInput. È possibile specificare un filtro predefinito in questo oggetto, o definire un filtro personalizzato. Di conseguenza, la navigazione su più livelli sul sito web filtra gli attributi necessari.
  • Si possono cercare categorie per ID, nome e/o chiave URL. La query di CategoryList sostituisce la query di categoria obsoleta.
  • La ProductInterface supporta fix sui prodotti (come WEEE). Utilizzare la query StoreConfig per determinare se l’archiviazione supporta queste imposte.
  • L’oggetto carrello è stato migliorato per includere informazioni su promozioni e sconti applicati a livello di linea e carrello.

(Consultare Release Notes https://devdocs.magento.com/guides/v2.3/graphql/release-notes.html per una discussione più dettagliata i recenti GraphQL bug fixes).

PWA STUDIO – Progressive Web App

  • Migliorata l’esperienza iniziale con l’uso di @magento/create-pwa per reindirizzare il progetto iniziale usando Venia come modello;
  • Separazione della logica (Talons) e dei pezzi della presentazione (venia-ui) di alcuni React hooks in Peregrine. Gli sviluppatori possono ora scambiare la logica o il lato di presentazione di un componente;
  • Il routing è ora gestito tramite il React Router (libreria di componenti di navigazione);
  • Venia State Management riformato per astrarre e ridurre la dipendenza da Redux;
  • Migrazione continua da REST a GraphQL;
  • Miglioramenti delle prestazioni (service workers, cache, ottimizzazione delle immagini);
  • Migliore navigazione dello storefront;

(Per informazioni aggiuntive su questi miglioramenti consultare PWA Studio release > https://github.com/magento/pwa-studio/releases ).

Dotdigital

  • La live chat fornita da dotdigital consente ai merchants di incrementare i tassi di conversione ed effettuare conversazioni con i clienti, con un coinvolgimento in tempo reale. Tutti i merchants di Magento 2.3.x (Sia Magento Open Source e Magento Commerce) possono ricevere una live chat gratuita senza necessitare di una licenza completa di dotdigital Engagement Cloud.
  • Engagement Cloud include un nuovo chat widget che consente agli acquirenti di comunicare in tempo reale con i clienti mentre acquistano nel negozio. È possibile accedere alla chat dalla sezione Engagement Cloud della configurazione di Magento o direttamente dal proprio account Engagement Cloud.

(Consultare engagement Cloud Chat https://docs.magento.com/m2/ee/user_guide/marketing/engagement-cloud-chat.html?_ga=2.39193188.678624806.1586802973-963814469.1586535780 ).

  • I merchants possono ora sincronizzare ulteriori campagne da Engagement Cloud a Magento.

Google shopping ads Channel

Google shopping ads channel Release Notes (https://devdocs.magento.com/extensions/google-shopping-ads/release-notes/) descrive tutti I cambiamenti a questa funzione per Magento 2.3.x.

Miglioramenti al vendor-developed extension

Questa release include estensioni sviluppate da fornitori di terze parti. Comprende sia miglioramenti di qualità che di UX a queste estensioni.

Klarna

Klarna Payments ha un nuovo Data sharing nel campo caricamento, nella configurazione Magento, che può essere impostato per condividere i dati dei clienti dopo l’autorizzazione della transazione o quando viene selezionato il metodo di pagamento Klarna durante il checkout

(consultare Setting UP Klarna https://docs.magento.com/m2/ee/user_guide/payment/klarna-setup.html?_ga=2.198574824.678624806.1586802973-963814469.1586535780 ).

Problemi risolti

Sono stati risolti centinaia di problemi nel Magento 2.3.4 core code.

Installation, upgrade, deployment

Installazione, aggiornamento, distribuzione

  • Gli aggiornamenti non falliscono più quando le distribuzioni contengono informazioni di archivio predefinite in app/etc/config.php.In precedenza, i blocchi MySQL si verificavano durante la fase di importazione del negozio di aggiornamento e Magento generava un errore.
  • Il comando setup:db-declaration:generate-patchgenera ora un file patch usando il metodo revert()come previsto quando l’opzione è impostata su true.
  • Ora è possibile eseguire bin/magento maintenance:enableo bin/magento maintenance:disabledin un deployment con un database vuoto. In precedenza, Magento generava un errore quando si cambiava la modalità di maintenance con un database vuoto.
  • In rare circostanze, l’esecuzione dell’aggiornamento del composer disabilitava tutte le caches di Magento. Ora questo problema è stato corretto
  • I nomi dei fornitori possono ora contenere numeri. In precedenza, Magento generava un errore.
  • Le singole pipes nei file composer.jsonsono state cambiate in doppie pipes.
  • Le dipendenze delle patch non causano più l’applicazione di una patch due volte. In precedenza, una patch su cui era presente una dipendenza veniva installata due volte ed inserita due volte nella tabella patch_list.
  • La distribuzione di contenuto statico (bin/magento setup:static-content:deploy) non comporta più la cancellazione casuale di file CSS o più eccezioni.
  • Magento può essere installato correttamente con MySQL 8. In precedenza, l’installazione si interrompeva perché la patch attivava l’indicizzazione forzata. Tuttavia, Magento 2.3.4 non è ancora completamente compatibile con MySQL 8. Il supporto completo è previsto per Magento 2.4.0.
  • È possibile ora utilizzare SSL per connettere Magento 2.x a un server MySQL.
  • I merchants possono utilizzare una nuova impostazione di configurazione del sistema per specificare la chiave API per un fornitore di valuta.

Analytics
Il comando module-analytics/Model/ExportDataHandler.php ora genera dati in Docrot/var/cartella.

Cliccando sul tasto ESC non si chiude più la finestra di dialogo popup di Analytics che Magento visualizza quando un amministratore accede per la prima volta.

Gli amministratori possono ora utilizzare il tasto TAB solo per spostarsi tra i pulsanti ‘Consentire’ e ‘non consentire’. In precedenza, un Admin poteva utilizzare il tasto TAB per uscire dalla finestra di dialogo.

Backend

Magento ora imposta il corretto ambito Admin Locale durante la generazione di modelli e-mail. In precedenza, l’e-mail inviata dall’Admin includeva percorsi di file statici errati.

Bundle products

  • Il prezzo ed il totale parziale mostrati nel carrello e nel mini-carrello per i prodotti in bundle ora si basano sulla quantità di articoli e sul prezzo a livelli come previsto. In precedenza, nel momento in cui si aggiungeva un secondo prodotto nel carrello, Magento duplicava il prezzo del prodotto visualizzato nel carrello.
  • Il carrello ora visualizza i prezzi corretti per i bundle products, quando si utilizza il pulsante ‘Aggiungi’ al carrello, per aggiungerli due volte.
  • I Bundle products ora mostrano il prezzo corretto quando le opzioni del pacchetto includono solo un’opzione di selezione multipla.
  • L’attributo “prezzo” di un bundle product è ora disabilitato come previsto quando sono abilitati i prezzi dinamici. In precedenza, quando l’impostazione “Allow alert when product comes back in stock” o l’impostazione “Allow alert When product price changes” erano state settate, i prezzi rimanevano settati.
  • Magento non rimuove più le opzioni in bundle da un bundle product quando lo si duplica. In precedenza, quando si duplicava un prodotto in bundle in Admin, Magento rimuoveva le opzioni in bundle dal primo prodotto e le trasferiva sul prodotto duplicato.

Cache

  • La memorizzazione nella cache a pagina intera ora funziona come previsto per le visualizzazioni negozio non predefinite.

Carrello e Checkout

  • Magento ora applica correttamente le condizioni imposte da più regole di prezzo nel carrello. In precedenza, Magento ignorava le condizioni per rimuovere la spedizione gratuita quando erano validi altri sconti. Ora, invece, applica correttamente le regole del prezzo del carrello, con uno sconto del 100%.
  • Gli utenti ospiti possono ora effettuare il checkout. Prima Magento visualizzava questo errore: No cart with such entityId=0
  • Le informazioni di fatturazione e spedizione non scompaiono più dalla sezione Pagamento del flusso di lavoro checkout quando una richiesta POST AJAX ha esito negativo.
  • Magento non rilascia più, non aggiorna più l’indirizzo di spedizione dopo un aggiornamento del cliente o aggiunge un nuovo indirizzo postale / codice postale quando i propri indirizzi di fatturazione e spedizione sono disattivati.
  • Magento non genera più un errore quando si apre il carrello in una finestra separata durante il checkout multishipping.
  • Le tabelle delle regole di prezzo del carrello nelle distribuzioni su più siti ora mostrano le regole di prezzo del carrello esistenti come previsto. In precedenza, la pagina Cart Price Rules mostrava il pulsante Cerca, il numero di record trovati e i pulsanti di navigazione, ma non visualizzava la griglia delle regole.
  • Ora si può utilizzare REST per aggiungere un prodotto con opzioni personalizzabili (ad esempio, digitare la casella di controllo) al carrello. In precedenza, Magento generava un errore informativo quando si utilizzava l’endpoint POST / V1 / guest-carts / {cartId} / items.
  • La logica di convalida è stata aggiunta al campo Quantità minima consentita nel campo Carrello su Negozio> Configurazioni> Catalogo> Inventario.
  • Magento ora visualizza le quantità di prodotto corrette nella scheda Articoli ordinati della pagina dell’ordine quando il prezzo include un valore decimale.
  • Magento ora salva le impostazioni di aggiornamento della pianificazione che sono state impostate in Ammin.> Catalogo> Categorie> Categoria> Pianifica aggiornamento progettazione come previsto quando si cambia la vista dello store.
  • Si può ora abilitare il file caricato con l’opzione personalizzata del tipo di file per un prodotto dal carrello.
  • La logica di convalida è stata aggiunta al campo Send Payment Failed Email Copy To field of Admin > Store > Configurations > Sales > Checkout > Payment Failed Email.
  • Magento ora aggiorna il carrello come previsto quando si rimuove un prodotto dal blocco laterale del carrello. In precedenza, quando si eliminava un prodotto dal blocco laterale del carrello, Magento non aggiornava il carrello.
  • Magento ora visualizza un messaggio di errore informativo quando un cliente aggiorna un carrello con una quantità di prodotto non disponibile. In precedenza, in queste condizioni, Magento mostrava un messaggio di errore impreciso.
  • È ora possibile aggiornare la quantità di un prodotto misurata in decimali dal carrello quando l’opzione Qtà utilizza decimale è abilitata. In precedenza, Magento non aggiornava la quantità di prodotto.
  • Il pulsante Cancella carrello ora funziona come previsto quando si esegue Magento con Internet Explorer.
  • Magento non svuota più il contenuto del carrello di un cliente quando preme Invio dopo aver modificato la quantità di un prodotto.
  • Magento ora include i collegamenti scaricabili associati a un prodotto scaricabile quando si aggiunge il prodotto al carrello e si modifica il carrello.
  • Le descrizioni degli sconti vengono ora visualizzate in modo coerente nell’interfaccia del prodotto.
  • I campi di riepilogo del carrello dello storefront e dell’Admin ora vengono visualizzati in modo coerente e riflettono le preferenze di impostazione.
  • Il metodo QuoteManagement::assignCustomer()permette ora di unire un carrello ospite con un carrello clienti attivo. Di conseguenza, il PUT /V1/guest-carts/:guest-cart-idfunziona come previsto.
  • Magento non visualizza più un prodotto disabilitato in un carrello o in vetrina se viene disabilitato dopo che un cliente lo ha aggiunto al carrello utilizzando un codice coupon. In precedenza, in queste condizioni, Magento generava un errore e il cliente non poteva completare l’ordine.
  • Magento non aggiunge più i valori degli attributi all’URL del carrello quando aggiungi un prodotto configurabile al carrello dalla pagina dei dettagli del prodotto.

Catalogo

Catalog

  • La modifica del set di attributi di un prodotto disabilitato non abilita più il prodotto in vetrina.
  • Magento ora visualizza le immagini dei banner di categoria come previsto, nelle pagine di modifica della categoria e delle categorie della vetrina.
  • Magento non genera più un errore irreversibile durante la compilazione di codice che contiene una preferenza per l’indicizzatore di prodotti di categoria.
  • Quando un administrator imposta la soglia di out-of-stock per un prodotto su un valore negativo e consente ordini arretrati inferiori a 0, i clienti possono effettuare un backorder di un prodotto fino a quando il valore di soglia esaurito corrisponde alla quantità di stock del prodotto. In precedenza, la soglia di esaurimento delle scorte non aveva alcun effetto e il prodotto in questione rimaneva disponibile e poteva essere riordinato senza limiti.
  • Gli attributi specifici di Storeview sono ora inclusi nei risultati della layered navigaiton, anche quando l’impostazione All Store Views non è abilitata.
  • Magento ora visualizza il messaggio Aggiorna cache come previsto quando si modifica il layout della pagina della categoria.
  • I risultati di ricerca della layered navigation nel catalogo comprendono ora gli attributi del prodotto e del tipo prezzo.
  • Magento ora evidenzia solo la categoria selezionata più di recente come previsto nelle pagine dello storefront che contengono più categorie. In precedenza, tutti i menu delle categorie selezionate rimanevano evidenziati.
  • Le prestazioni dell’indicizzatore delle categorie di prodotti sono state migliorate. In precedenza, la reindicizzazione delle categorie di prodotti poteva richiedere fino a 30 minuti.
  • Facendo clic su Delete, due volte, sulla pagina di un prodotto, dopo aver selezionato uno o più prodotti non si eliminano più tutti i prodotti.
  • Gli elenchi dei prodotti del catalogo vengono ora visualizzati come previsto quando i prodotti contengono condizioni di attributo personalizzate.
  • Magento ora carica correttamente le pagine che implementano il widget elenco prodotti del catalogo, quando i prodotti contengono custom attribute conditions. In precedenza, Magento generava questo errore: Error filtering template: Notice: Undefined offset: 0 in …/ app/code/Magento/CatalogWidget/Model/Rule/Condition/Product.php online 221.
  • I Merchants possono ora scorrere verso il basso la pagina Create New Product page per determinare se il prodotto è estato salvato, nel caso in cui essi abbiano inserito valori non validi nello Schedule Desgin Update fields. In precedenza, i clienti non potevano scorrere per vedere se il prodotto era stato salvato.
  • Gli attributi d’estensione quote model sono ora correttamente codificati e presenti nella pagina di pagamento come previsto. In precedenza, questi attributi erano presenti come oggetti vuoti {}.
  • La modifica degli attribute sets rimuove ora l’attributo dalla layered navigation e dai risultati di ricerca, come previsto.
  • L’opzione personalizzabile del Date field per i prodotti ora salva i valori precisi per i negozi in diversi fusi orari.
  • I custom attributes elencati nella pagina Stores>Attributes> Product > Add New Attribute page sono ora ordinati alfabeticamente. In precedenza, gli attributi del prodotto personalizzati erano ordinati per valore ID. Ora si può modificare il layout della pagina catalog_product_view da un tema personalizzato modificando <theme_dir>/Magento_Catalog/layout/override/base/catalog_product_view.xml

Pulizia e refactoring semplice del codice

  • il messaggio Are you sure you want to delete this category è ora traducibile.
  • La sezione impostazioni PayPal Admin> Stores >Configuration > Sales > Payment Methods page ora possiede un’icona di espansione/ compressione.
  • È stato rimosso un XML namespace URL incorretto, dalle generate sitemap e visualizzate in Marketing> SEO e ricerca> Sitemap. In precedenza, Magento dava un errore 404 quando si faceva clic sul collegamento della Sitemap.
  • La minicart ora visualizza l’opzione personalizzata del tipo di file di un prodotto.
  • La spaziatura della casella Select Input box sula pagina dell’Admin con griglie è ora coerente con altre pagine di Magento.
  • Risolto il problema del disallineamento dell’icona dell’ambito e dell’etichetta specifica dello store view nella pagina Admin>Store>Settings>Order Status>Create new status page.
  • Il What’s this? Link nella sezione Ricordami della pagina di accesso dello storefront ora funziona come previsto.
  • Corretto il non allineamento delle checkboxes e delle etichette associate alla pagina Admin > Catalog > Products > Update Attributes page.
  • Corretta la capitalizzazione incoerente e impropria nella pagina Admin > Marketing > Communications > Email Templates > Create a New Template page.
  • Il valore di ritorno del metodo  Magento\CatalogUrlRewrite\Model\Storage\DynamicStorage::getCategoryUrlSuffix() è stato modificato per digitare string.
  • L’icona drop-down ora rimane visibile quando si fa clic su Loas Template durante la creazione di un modello di posta elettronica dell’Admin.
  • Risolto il problema con l’allineamento dell’icona della wishlist sul carrello nella vista mobile.
  • Disallineamento corretto e design standardizzato dell’intestazione Other PayPal Payment Solutions, nella pagina Store Configuraiton.
  • Le etichette in Admin Sales > Transactions Payment Method sono state rimosse.
  • Aggiunta un’etichetta mancante su Marketing > Search Synonyms > New Synonym Group.
  • Corretto il disallineamento delle Cache Type checkboxes in tutto l’Admin.
  • Risolto il problema di visualizzazione con il placeholder text nel blocco di iscrizione alla newsletter, nel piè di pagina globale che si verificava nella vista mobile.
  • Il valore predefinito per l’impostazione Prodotti per pagina, Products per Page, su griglia è stato aggiornato a 12.  Questa impostazione influisce sul numero di prodotti visualizzati sullo storefront quando viene specificata la visualizzazione elenco per i prodotti. Questa modifica interesserà sia i nuovi clienti, sia i clienti che non hanno precedentemente salvato questa impostazione.

CMS Content

  • Le checkboxes nel Dynamic Block Rotator (utilizzate quando si inserisce un widget durante la creazione di una pagina CMS) sono state corrette e ora i widget sono completamente selezionabili come previsto.
  • Ora è possibile salvare i blocchi CMS senza contenuto.

CLI commands

Command-line Interface

  • I messaggi di gestione delle eccezioni per i comandi della CLI sono stati modificati per essere specifici, informativi e pertinenti al contesto in cui si verifica l’errore.
  • Bin/magento setup:backup –media ora esegue correttamente il backup di una directory pub/media collegata simbolicamente.

Configurable Products

Prodotti configurabili

  • Magento ora mantiene l’ordinamento delle uploaded simple images, quando vengono caricate tramite la procedura guidata Create Configurations.
  • Un elenco di opzioni di prodotto configurabile ora mostra i prodotti out-of-stock come previsto, quando l’opzione Display Out of Stock Products è abilitata.
  • Ora puoi rimuovere i prezzi speciali da un prodotto senza influire sul prezzo dei prodotti associati. In precedenza, dopo aver rimosso il prezzo speciale da un prodotto semplice, Magento smetteva di visualizzare il prezzo normale per tutti i prodotti semplici associati.
  • Le prestazioni delle operazioni di modifica e salvataggio sui prodotti configurabili sono state migliorate.
  • L’elenco dei prodotti configurabili dall’Admin ora mostra tutti i prodotti semplici con una quantità pari a 0, come previsto. In precedenza, un semplice prodotto era scomparso da questo elenco quando una quantità di prodotto veniva impostata su 0.
  • Magento non genera più un errore quando si tenta di aggiungere nuove opzioni di attributo a un prodotto configurabile.
  • Il caricamento degli attributi personalizzati ora funziona come previsto. In precedenza, il parametro $requiredAttributeIds del metodo opzionale getUsedProducts() non veniva utilizzato, il che impediva il caricamento di attributi personalizzati.

Customer

  • Il campo Date of Birth nel form di registrazione del cliente non viene più impostato in 1/1/1970 in distribuzioni che già contengono un cliente registrato con la stessa e-mail nei negli stores che utilizzano en_AU locale.
  • L’elenco dei paesi accessibili dal campo Add New Address del checkout ora visualizza solo i paesi che sono stati definiti in Admin > Stores > Configuration > General.
  • La creazione di un delegated account non da più esito negativo, quando l’indirizzo del cliente contiene attributi personalizzati.
  • Magento ora cancella il campo State/Province nella pagina dell’indirizzo del cliente quando si modifica il valore per paese durante la modifica dell’indirizzo di un cliente.
  • Magento ora esegue controlli di convalida sui valori immessi nel campo Date of Birth nella pagina Admin Add New customer page.
  • Gli spazi vengono ora tagliati/aggiustati come previsto dai valori immessi nell’account del cliente nel campo Phone.
  • Il link di conferma di Reset della Password è ora mirato in modo appropriato. In precedenza, Magento inviava sempre e-mail dal negozio predefinito, non dal negozio a cui era assegnato il cliente.

Custom customer attributes

Magento visualizza ora un messaggio d’errore informativo quando un cliente tenta di effettuare un ordine senza aggiungere un indirizzo per il metodo di pagamento e l’indirizzo di fatturazione e spedizione è la stessa casella di controllo non selezionata.

Database Media Storage

Archiviazione multimediale del database

  • Il comando bin/magento catalog :image:resize elabora ora le immagini dal database, come previsto, quando i file non esistono localmente.
  • Abilitando Flush Catalog Images Cache su System>Cache Management, cancella ora tutti i file di immagine memorizzati nella cache sia dal filesystem che dal database. In precedenza, Magento rimuoveva le immagini solo dal filesystem.

Declarative schema

  • Il metodo data/schema patch getAlisases() funziona, come previsto.
  • La chiave esterna WISHLIST_ITEM_OPTION_PRODUCT_ID_CATALOG_PRODUCT_ENTITY_ENTITY_ID è stata rimossa dal declarative schema.

Downloadable products

  • Magento non visualizza più un errore della console quando si selezionano tutti i link per un prodotto scaricabile nello storefront.
  • Magento ora visualizza il pulsante Unselect all button nella pagina del carrello quando un cliente seleziona un prodotto scaricabile con più opzioni.

EAV

  • La pagina di modifica dell’attributo del prodotto ora viene caricata correttamente quando si tenta di modificare un valore di attributo dall’Admin. In precedenza, Magento visualizzava un errore 500.
  • L’API di aggiornamento dell’opzione di attributo non crea più opzioni con lo stesso valore.
  • Le tabelle catalog_product_entity_varchar/catalog_product_entity_int sono ora aggiornate con i corretti valori. In precedenza, quando si tentava di accedere al prodotto utilizzando REST, Magento visualizzava i valori delle opzioni degli attributi personalizzati eliminati.
  • Magento ora salva correttamente i valori assegnati a sort_order e agli attributi attribute_group_code con POST /V1/products/attribute-sets/groups.
  • Ora è possibile eseguire azioni di massa su elementi in una griglia che utilizza una raccolta EAV. In precedenza, le griglie create con il non più approvato Magento\Backend\Block\Widget\Grid (come molte estensioni di terze parti) hanno generato un’eccezione quando si è tentato di eseguire un’azione di massa.

Email

  • Le pagine Registration (Registrazione) e Contact us (Contattaci ora) gestiscono correttamente i nomi dei clienti che contengono caratteri non-ASCII. In precedenza, se il nome del cliente conteneva caratteri non ASCII, l’utente non riceveva l’email.
  • La pagina del prodotto Send Email to Friend viene ora inviata dall’indirizzo e-mail configurato come mittente nel campo General Contact di configurazione del sistema. In precedenza, Magento visualizzava un errore perché il valore in questo campo veniva gestito come un valore definito dall’utente, non come un valore statico.
  • La logica di convalida è stata aggiunta ai campi di email sull’Admin > Stores > Configuration > Sales > Sales Emails.
  • La logica di convalida è stata aggiunta al campo Send Payment Failed Email Copy To field of Admin > Stores > Configuration > Sales > Checkout.

Frameworks

  • I clienti non hanno più problemi ad accedere in una distribuzione Magento su cui bin/magento customer:hash:upgrade l’aggiornamento è stato eseguito e che esegue anche PHP 7.2.19.
  • Il comando bin/magento setup:db:status ora ritorna correttamente dopo aver eseguito l’installazione bin/magento setup:upgrade su una distribuzione che esegue Maria DB versione 10.2. In precedenza, il comando bin/magento setup:db:status riporta questo messaggio: Declarative schema is not up to date ed indica che bisogna eseguire bin/magento setup:upgrade.
  • Gli elenchi dei paesi ora forniscono una traduzione di Taiwan come Taiwan, provincia della Cina.
  • Magento ora invia email relative alle vendite al cliente corretto quando sales_emails cron ha un errore.
  • La classe magento/framework/Mail/Template/TransportBuilder.php è stata rifattorizzata per assicurarsi che $this-> messageData sia aggiornato quando $email è un array e isset($this-> messageData[$addressType]) è impostato su false.
  • Magento non genera più un errore quando si apre un’immagine dalla galleria immagini del prodotto dalla pagina dello Storefront product detail page. In precedenza, Magento restituiva questo errore JavaScript nella console: TypeError: The expression cannot be converted to return the specified type.
  • I callbacks relativi all’ordine save_after_commit vengono ora chiamati per i checkout degli ospiti come previsto. In precedenza, non venivano spediti.
  • Il contatore prodotti e il page lister su Catalog>Products ora funzionano correttamente dopo che l’impostazione Add Store Cose to Urls è stata abilitata o disabilitata.

JAVASCRIPT framework

  • I controlli di definizione non necessari sono stati rimossi dai moduli JavaScript utilizzati da requestJS.
  • Escludendo i file JavaScript minimizzati dai bundle JavaScript, generati utilizzando il file view.xml all’interno di un tema, ora funziona come previsto. In precedenza, era necessario fornire esplicitamente sia il nome file non minimizzato che il nome file minimizzato. Ora è necessario solo il nome esatto del file system esistente. L’altra variante viene gestita automaticamente. Ciò riduce la dimensione dei file del bundle JavaScript generati nei temi Magento predefiniti e può anche migliorare la dimensione del file del bundle JavaScript nei temi personalizzati.

General fixes

Correzioni Generali

  • i passaggi di convalida di base sono stati aggiunti ai campi Store configuration>Catalog page.
  • Magento ora visualizza un messaggio di errore quando la convalida fallisce, quando si clicca su Generate sulla pagina Manage Coupon Codes e la regola di vendita applicabile ha l’impostazione Use Auto Generation abilitata.
  • Magento ora reindirizza correttamente alla pagina dell’Account cliente quando si clicca il tasto Back sulla pagina Manage Address.
  • Il form New Block non visualizza più il campo Store View quando la distribuzione è in modalità single-store.
  • Le immagini ora cambiano come previsto, quando si passa il mouse sull’immagine e utilizzando un touchscreen.
  • Magento ora visualizza un messaggio di errore informativo se la convalida fallisce quando si fa clic su Generate, gestendo codici coupon dall’Admin.
  • Le Autorizzazioni per il controllo degli accessi (ACL) sono state migliorate per le seguenti attività relative al carrello: export CVS e il file Excel di carrelli abbandonati e rapporti relativi a prodotti abbandonati.
  • La logica di convalida è stata aggiunta al campo Sort Order del modulo New Rating (Stores>Rating).
  • Ora è possibile filtrare correttamente prodotti in base a più attributi nello Step 2: la sezione Attribute Values alla pagina Admin Create Product Configuration. In precedenza, solo uno dei valori selezionati veniva mantenuto quando si tentava di filtrare.
  • Sono stati risolti i problemi con una minore compilazione nel tema vuoto di Magento quando si utilizza un compilatore alternativo minore di quello fornito con Magento per impostazione predefinita.
  • Convert to Plain Text? Il messaggio di conferma che Magento visualizza quando si fa click su Delete sulla pagina Admin Edit Email Template segue ora le linee guida di progettazione di Magento.
  • L’URL obsoleto per la pagina http Strict Transport Security Page (accesso da Admin > Store > Configuration > General > Web) è stato aggiornato a app/code/MagentoBackend/etc/adminhtml/system.xml
  • La logica di convalida è stata aggiunta al campo Layered Navigation Price Step alla pagina Admin>Catalog>Categories.
  • La logica di convalida è stata aggiunta al campo Oauth alla pagina Admin>Store>Configuration>Service.
  • La logica di convalida è stata aggiunta al campo Timeout nel campo Seconds alla pagina Admin>Store>Configuration>General>Currency Setup.
  • Magento ora visualizza un messaggio di conferma quando si seleziona un’operazione di cancellazione sugli abbonati nella pagina Admin>Marketing>Newsletter Subscribers.
  • La logica di convalida è stata aggiunta al campo di ordinamento alla pagina Admin>Stores>All stores>Create Store View o Website page.
  • Gli attributi XML sono ora codificati per consentire simboli speciali negli attributi dei tag.
  • La logica di convalida è stata aggiunta alle opzioni per gli attributi del prodotto creati prima che Magento aggiungesse questi valori di attributo al database del prodotto. Magento ora controlla l’opzione Array che esiste nel database prima di aggiungerla. In precedenza, Magento creava azioni duplicate per lo stesso negozio.
  • Le chiamate a catalogProductTierPriceManagementV1GetListGet ora gestiscono le richieste, come previsto. in precedenza, le chiamate fallivano durante le query di un prodotto configurabile.
  • Il tag HTML br è ora un tag consentito.
  • L’Admin Notification Counter ora gestisce correttamente i valori a due cifre.
  • È possibile selezionare ora correttamente un’immagine della galleria immagini quando di configura un tema (Admin>Content>Configuration). 
  • I modal triggers possono ora essere aggiunti dopo l’inizializzazione del modulo.

Image

  • La dimensione delle immagini visualizzate nei feed RSS è ora determinata dal file view.xml.
  • L’attributo content per msapplication-TileImage ora si risolve in un percorso tematico localizzato.
  • Quando si sposta una categoria, l’elenco delle categorie preparate per la re-indicizzazione ora include tutte le sottocategorie interessate quando è abilitato Flat Catalog. In precedenza, l’ordine delle categorie sullo storefront era errato fino a quando la categoria flat non veniva re-indicizzata.

Import/Export

  • Magento ora crea un file di esportazione dei prezzi avanzato come previsto quando si esportano più di 5000 prodotti. In precedenza, Magento generava un errore e non creava il file.
  • La pagina Schedule Import Settings (Impostazioni di importazione pianificate) non visualizza più i campi che sono stati disabilitati nelle impostazioni di configurazione.
  • Sono state rimosse le virgolette ridondanti dal titolo del campo CSV del file CSV dell’ordine esportato.
  • La pagina Export (Esporta) ora mostra i file esportati in una griglia. In precedenza, Magento non elencava i file ma mostrava invece un messaggio che indicava che la sezione CDATA era troppo grande per essere visualizzata quando venivano esportati più di 20.000 record.
  • I file CSV esportati vengono ora ordinati in base all’ora in cui si esegue bin/magento cron:run. In precedenza, i risultati CSV esportati venivano visualizzati in modo casuale e non era possibile filtrare o ordinare gli elementi esportati.
  • Si possono ora importare valori vuoti (_ _EMPTY_ _VALUE_ _)da un file CVS al livello store-view.
  • Magento ora gestisce correttamente la riscrittura degli URL quando si importano dati per un prodotto esistente.
  • È ora possibile escludere gli attributi da un file CSV durante l’impostazione di un’esportazione (System> Data Transfer (export)). In precedenza, le checkboxes in questa pagina non funzionavano.
  • Magento ora elabora correttamente i prezzi dei prodotti durante l’esportazione quando è impostato l’ambito All Stores View. In precedenza, la logica per l’aggiornamento del prezzo nelle opzioni personalizzate nei siti Web non predefiniti mancava quando l’impostazione Catalog>Price era impostata su Web Site.
  • Magento ora rispetta le impostazioni dell’ambito del sito Web quando si esportano i dati di prodotto in un file CSV.
  • Magento ora aggiunge le immagini appena importate dopo quelle precedentemente importate. In precedenza, Magento aggiungeva queste immagini importate più di recente, in modo casuale.
  • Ora puoi importare correttamente i dati del cliente che non sono stati modificati durante la generazione del file CSV con l’opzione Add/Update Complex Data behavior.
  • Risolto il problema di spaziatura nel file Magento_Config
  • Magento ora importa correttamente la quantità di prodotto da un file CSV. In precedenza, il campo quantità per un prodotto poteva essere 0, ma il campo stato indicava in stock.
  • Magento ora visualizza un messaggio di errore come previsto quando si seleziona Import Tax Rates senza selezionare un file per l’importazione su (Admin>Import&Export Tax Rates).
  • Si può ora importare correttamente un’immagine da un URL esterno.

Index

  • La chiamata POST /V1/products/tier-prices ora considera la modalità di indicizzazione dell’account come previsto.
  • Magento non genera più un errore irreversibile quando si crea una preferenza per l’indicizzatore del prodotto di categoria prima di eseguire l’installazione bin/magento setup:di:compile.
  • Durante la re-indicizzazione, Magento ora elimina solo i prodotti che sono stati identificati come esauriti quando filtrati da $entityIds.

Infrastructure

  • Le autorizzazioni per i file non eseguibili in GitHub sono state modificate da 755 a 664, ove appropriato.
  • Un errato Bool return type per il metodo setIsActive()in Salesrule Module RuleInterface.php è stato corretto in RuleInterface.
  • Magento non aggiunge più il campo form_keyche hanno URLs d’azione esterna. (Gli URL di azioni esterne sono URL che non appartengono all’URL di base del negozio.)
  • Il dizionario è stato rimosso dalla libreria zxcvbn.jse sono stati conseguiti i seguenti miglioramenti delle prestazioni:

1) Le dimensioni della libreria zxcvbn sono state ridotte da 395 KB a 11,3 KB nelle pagine di registrazione, modifica e modifica della password del cliente;

2) Il tempo richiesto per il caricamento asincrono di questa libreria è stato ridotto del 90%.

  • Il metodo scopeData()ora restituisce un valore DateTime nell’ambito della locale del negozio specificata. In precedenza, questo metodo non era stato completamente implementato.
  • Il metodo getAttributeRawValueora restituisce un valore specifico del negozio anche quando non esiste un valore predefinito. In precedenza, nessun valore di negozio veniva restituito quando non era presente un valore predefinito.
  • Le prestazioni del metodo ProductMetadata::getVersionsono state migliorate grazie all’aggiunta della memorizzazione nella cache della versione del prodotto. Questo metodo viene chiamato da molte estensioni di terze parti per determinare la versione di Magento.
  • Ora è possibile aggiungere prodotti con opzioni personalizzate di tutti i tipi al carrello.
  • I numeri decimali sono stati aggiunti al SampleFile nella sezione Import CSV. In precedenza, utilizzando l’opzione Download Sample File nella pagina Import CSV del prodotto, veniva creato un file CSV di esempio con un peso di 1, che era di uso limitato.
  • È stato sostituito un metodo obsoleto in \Magento\MysqlMq\Model\Driver\Exchange. In precedenza, questo metodo ha causato un’eccezione.
  • Ora è possibile aggiungere gestori direttamente a di.xml. In precedenza, era necessario estendere la classe helper e registrare i gestori.
  • È ora possibile aggiungere un gestore direttamente al di.xml di un modello di prodotto anziché aggiungere un gestore estendendo la classe di supporto e registrando i gestori.
  • Magento non restituisce più una stringa vuota quando si chiama $this->_escaper->escapeXssInUrl(“0”);restituisce invece il valore 0 previsto.

Inventory

  • Ora è possibile salvare un prodotto modificato quando max_sale_qty è impostato sul valore predefinito di Magento.

Layered navigation

Navigazione su più livelli

  • La navigazione a più livelli non è più visibile quando si imposta la modalità di visualizzazione su Static Block solo su una determinata categoria.

Media Storage

  • Magento ora recupera le immagini dalla cache corretta nelle distribuzioni multi-store.

Newsletter

  • Magento ora visualizza i campi vuoti Nome cliente e Cognome cliente nella pagina Admin>Marketing>Newsletter Subscribers. In precedenza, questi campi contenevano la stringa imprevista – .
  • Allineamento corretto dell’etichetta della newsletter e casella di controllo associata nella pagina Admin customer edit page.
  • Il pulsante Subscribe ora è visibile nel modulo Subscribe come previsto. In precedenza, un elemento solo sr nascondeva questo pulsante.
  • La casella di controllo Subscribe to newsletter ora funziona come previsto quando Stores>Configuration>Customer>Customer Configuration>Account Sharing è impostato su Globale.
  • I clienti non ricevono più l’annullamento dell’iscrizione alle e-mail delle newsletter quando si registrano per un nuovo account e l’impostazione Subscribe to newsletter è attivata.
  • L’anteprima del modello di newsletter ora mostra le immagini come previsto. In precedenza, tutte le immagini incluse nel modello non erano visualizzate correttamente ed era necessario scorrere per visualizzare l’intera immagine.

Orders

Ordini

  • L’elenco Ordine ora visualizza le informazioni sull’ordine nella valuta in cui è stato effettuato l’ordine, non nella valuta di base corrente del negozio.
  • È possibile aprire ora uno storefront da Sales>Orders>Customer View. In precedenza, l’Admin si bloccava e la pagina non veniva mai ricaricata.
  • La checkbox in Admin>Create New Order>Add Products page ora funziona come previsto in Internet Explorer 11.x. Questa casella di controllo ora si comporta allo stesso modo su tutti i browser supportati.
  • Magento ora mostra il secondo nome del cliente nei dettagli del cliente sugli ordini e nella nuova e-mail di ordine inviata ai clienti.
  • Magento ora aggiorna il valore сustomer_email nelle tabelle quote e sales_order, come previsto, quando un cliente cambia il proprio indirizzo e-mail.
  • I clienti possono ora annullare un ordine che hanno creato utilizzando un coupon durante l’accesso come ospite. In precedenza, quando tentavano di annullare l’ordine, Magento lanciava un errore.
  • Magento ora visualizza un messaggio di avviso quando si fa clic sul pulsante Apply Coupon Code senza compilare il codice coupon durante la creazione di un ordine.
  • Magento ora invia l’e-mail del nuovo ordine come previsto quando il campo Invia e-mail copia ordine contiene una virgola seguita da uno spazio vuoto.
  • È stata corretta una voce di registro critica errata (nessuna entità del genere con customerId = xxx) nel file exception.log. In precedenza, Magento aveva registrato questa voce, che era un falso positivo creato quando un cliente che aveva effettuato l’accesso non aveva un preventivo attivo.

Payment methods

Metodi di pagamento

  • Ora è possibile utilizzare Paypal Payflow Pro per completare un ordine nelle distribuzioni che eseguono Internet Explorer 11.x.
  • Magento ora elabora correttamente gli ordini spediti a più indirizzi quando viene utilizzato Braintree con PayPal come metodo di pagamento. In precedenza, Magento completava con successo solo un ordine e rifiutava di elaborare gli altri ordini.
  • Gli ospiti possono ora pagare con successo un ordine utilizzando PayPal Express Checkout. In precedenza, Magento non elaborava l’ordine e visualizzava questo messaggio: Per effettuare il check-in, accedi con il tuo indirizzo e-mail.
  • Ora puoi completare correttamente un ordine utilizzando Braintree con PayPal quando è attivata la tariffa forfettaria di spedizione. In precedenza, Magento mostrava un errore informativo.
  • Magento non visualizza più l’opzione Credito PayPal sul flusso di lavoro di checkout sullo storefront quando questa opzione è disabilitata nell’Admin.
  • Magento ora associa correttamente i nomi e i cognomi nei campi degli indirizzi PayPal Express.
  • La funzione Carta di credito salvata con Vault mostra in basso informazioni precise sulla carta nella pagina delle informazioni sull’ordine come previsto per gli ordini pagati con Payflow Pro.
  • Il campo Qtà da rimborsare sulla nota di credito di un ordine pagato con Authorize.net è ora modificabile.
  • Magento non genera più un errore quando si inserisce un indirizzo di spedizione non valido nel momento in cui si effettua un ordine con Braintree con Paypal.
  • Magento non visualizza più i pulsanti Duplica Place order nella pagina Review order per gli ordini effettuati con PayPal Express.
  • Ora è possibile aggiungere correttamente nuovi prodotti al carrello quando si effettua un nuovo ordine dall’Admin.
  • Magento non visualizza più il pulsante Paypal express Checkout nelle pagine dei prodotti o nel carrello quando le impostazioni Visualizza nella pagina Dettagli prodotto e Visualizza nel carrello (Impostazioni avanzate) sono disabilitate.
  • Magento non visualizza più il pulsante Credito PayPal quando il pulsante Pagamento con PayPal è visualizzato nel carrello.
  • La logica di convalida è stata aggiunta al campo Invia copia e-mail non riuscita pagamento in Admin>Negozio> Configurations>Sales>Checkout.
  • La sezione Metodi di pagamento memorizzati della dashboard del cliente non dipende più dall’abilitazione di Braintree. La rimozione di questa dipendenza consente anche ai metodi di pagamento personalizzati di utilizzare questa sezione.
  • Magento non genera più errori JavaScript quando un cliente tenta di pagare un ordine tramite PayPal, quando i campi dell’indirizzo di spedizione sono incompleti.
  • Rimosso il ridondante codice XML nel nodo <payflow_advanced> del file di configurazione config.xml di PayPal. In precedenza, questa ridondanza causava errori.
  • L’impostazione Enable this solution è ora reimpostata su No for PayPal Express, come previsto, quando un cliente fa clic su Cancel nella sezione ” There is already another PayPal solution enabled. Enable this solution instead?” popup durante il checkout di PayPal Express.
  • Braintree ClientToken ora è disabilitato quando il metodo di pagamento Braintree è disabilitato per la vista negozio corrente.

Performance

  • L’opzione di configurazione del sistema Cache user Defined Attributes è stata aggiunta ad Admin>System Config>Avanced>Developer section>Caching Setting. Questa opzione supporta la memorizzazione nella cache degli attributi EAV definiti dall’utente mentre vengono recuperati. Gli attributi EAV del sistema di memorizzazione nella cache durante il recupero migliorano le prestazioni di molte attività diminuendo il numero di inserimenti e selezionando le richieste al database. Con questa versione, tutti gli attributi EAV del sistema vengono memorizzati nella cache per impostazione predefinita. Tuttavia, gli sviluppatori possono anche memorizzare nella cache gli attributi definiti dall’utente impostando Cache User Defined Attributes su yes. Gli attributi EAV di sistema che devono essere memorizzati nella cache durante il recupero sono definiti in di.xml in attributesForPreLoad argomento di Magento\Eav\Model\Config.
  • La raccolta delle statistiche per il modulo Reports è ora disabilitata per impostazione predefinita. Una nuova impostazione di configurazione (System configuration> General> Reports> General Options) consente ai merchants di disabilitare completamente o parzialmente i rapporti Magento. (La raccolta delle statistiche per il modulo Rapporti è disabilitata per impostazione predefinita. Magento consiglia di disabilitare la funzionalità Rapporti per motivi di prestazioni quando questa funzionalità non è richiesta.)
  • Le prestazioni delle operazioni di aggiornamento degli ordini di vendita sono migliorate.
  • Le richieste ridondanti non memorizzate nella cache sul server nelle pagine del catalogo sono state eliminate rifattorizzando il meccanismo di invalidamento della sezione del cliente e migliorando la logica della cache dei banner.
  • I file PHTML sono stati rifattorizzati per supportare meglio l’analisi tramite il meccanismo di raggruppamento. Il nostro nuovo meccanismo di raggruppamento ora identifica tutte le dipendenze da JavaScript.

Reports

  • L’ordinamento è stato disabilitato nella colonna New Account del New Accounts report.
  • Una nuova riga mancante è stata aggiunta alla fine dell’output del report var/report, il che ha migliorato l’analisi automatica dei file di registro.
  • Magento non genera più un errore della console quando si fa clic su Select All nella pagina Newsletter Problems Report.

Reviews

  • Il pulsante Reset ora funziona come previsto su Admin>Marketing>All Reviews>New Review page.
  • Select All sulla lista dei coupon nella pagina di Manage Coupon Codes ora funziona come previsto.
  • Magento non visualizza più il pulsante Add New Review sulla pagina Admin>Marketing>All Reviews>New Review se il prodotto non è presente.
  • La pagina dei dettagli del prodotto ora scorre come previsto quando si clicca sul link Review o Add Your Review Link. In precedenza, la pagina non scorreva e Magento visualizzava un errore JavaScript.

Sales

  • La convalida è stata aggiunta al campo Minimum Order Amount Field nella pagina Stores>Settings>Configuration>Sales Page.
  • L’email di fatturazione viene ora inviata automaticamente come previsto quando l’impostazione dell’azione di pagamento per un metodo di pagamento è impostata su Autorizza e acquisisci.
  • La sezione di visualizzazione dell’ordine del flusso di lavoro di checkout ora mostra il prezzo di spedizione corretto per un ordine da spedire a più indirizzi.
  • Le aliquote e gli importi fiscali ora cambiano come previsto quando l’indirizzo di fatturazione di un ordine viene modificato dall’admin.
  • Magento ora invia e-mail ai clienti quando viene creata una fattura. In precedenza, anche quando era abilitata l’impostazione di configurazione pertinente, Magento non inviava automaticamente questa e-mail.
  • I codici coupon per la spedizione gratuita vengono visualizzati come altri codici coupon. In precedenza, i codici coupon per la spedizione gratuita non venivano visualizzati nel riepilogo dell’ordine del flusso di lavoro di pagamento.
  • Non è più possibile aggiungere varianti disabilitate di un prodotto configurabile a un carrello da Admin.
  • L’impostazione Lifetime (days), che specifica il numero di giorni in cui un prezzo quotato rimane valido, ora funziona come previsto.

Sales Rules

  • Ora puoi modificare le impostazioni dell’azione per un aggiornamento pianificato di una regola del carrello. In precedenza, Magento non ha salvato una condizione di azione se era presente un’aggiunta all’aggiornamento pianificato della regola del carrello.
  • Magento non visualizza più un errore quando un cliente fa clic su Subscribe all’Order Status in una pagina dell’ordine e ora iscrive il cliente al feed XML come previsto.
  • I valori del contatore nella griglia Marketing> Regole prezzi carrello ora corrispondono al numero di regole elencate nella griglia come previsto.
  • Magento ora applica correttamente i codici coupon quando un totale parziale dell’ordine scende al di sotto della soglia specificata nella regola del prezzo del carrello applicabile. In precedenza, Magento applicava il coupon correttamente momentaneamente, quindi rimuoveva il codice coupon durante le sezioni fiscali e di spedizione del flusso di lavoro di checkout.

Search

  • Le prestazioni di MySQL per le query di ricerca sono state ottimizzate e i merchants che gestiscono siti con molte query di ricerca noteranno miglioramenti nella velocità delle query.
  • La ricerca rapida ora gestisce correttamente le frasi di ricerca che contengono meno caratteri del valore configurato. In precedenza, la ricerca rapida ignorava la frase di ricerca e restituiva tutti i prodotti quando la lunghezza della stringa di ricerca era inferiore a quella configurata.
  • Magento non richiede più una re-indicizzazione completa della ricerca per consentire la ricerca di un nuovo attributo del prodotto in vetrina.
  • Lo storefront ora mostra un prodotto appena aggiunto nella categoria assegnata dopo aver eseguito bin/magento cron:run && bin/magento cron:run.
  • La ricerca nelle categorie dalla pagina New Product ora funziona come previsto quando si immette una stringa di ricerca che non corrisponde a una categoria esistente. In precedenza, Magento mostrava risultati errati invece di indicare zero risultati di ricerca.
  • Elasticsearch ora trova correttamente i prodotti in vetrina utilizzando i valori degli attributi a discesa.
  • Elasticsearch ora gestisce correttamente le query di ricerca che includono parole che contengono segni diacritici e ortografia di quelle parole inserite senza segni diacritici corretti.
  • Ora è possibile cercare l’elenco Sales> Orders per indirizzo email.
  • L’esecuzione dell’indicizzatore bin / magento: reindex catalogsearch_fulltext non comporta più l’eliminazione di una tabella di database relativa all’indice.
  • I risultati di Elasticsearch ora mostrano tutti i prodotti come previsto quando Configuration>Catalog>StoreFront>Allow All Products per Page è impostato su yes. In precedenza, Magento mostrava questo errore: non siamo riusciti a trovare prodotti corrispondenti alla selezione.
  • Le pagine delle categorie ora funzionano come previsto quando Price Navigation Step Calculation è impostato su Automatic (equalize product counts).
  • Magento non genera più un’eccezione quando si avvia una ricerca avanzata utilizzando il nome del prodotto e lo SKU.
  • Elasticsearch ora gestisce correttamente le query di ricerca che contengono un punto interrogativo seguito da un punto e virgola (?;).
  • La logica di convalida è stata aggiunta ai campi Admin>Marketing>Search Terms.
  • Magento non registra più un avviso quando una query di ricerca del catalogo contiene più valori di opzioni personalizzati.
  • La variabile non definita nel metodo getStoreValuesForForm è stata definita.
  • Elasticsearch 6.x ora funziona solo con i client Elasticsearch 6.x nello storefront.
  • I client Elasticsearch ora possono utilizzare SSL senza abilitare HTTP Auth.
  • Elasticsearch non crea più un doppio indice quando Magento genera un’eccezione quando salva un indice in caso di errore di un cron job.

Shipping

  • Il codice per i metodi di spedizione offline è stato ottimizzato per rimuovere i codici corriere ridondanti.
  • L’IVA è ora inclusa nella pagina di spedizione del checkout, come previsto.
  • Il pulsante Back al Checkout con più indirizzi ora consente di tornare alla pagina corretta.
  • Il tracciamento di UPS Mail Innovations ora funziona come previsto. In precedenza, Magento mostrava questo errore: le informazioni di tracciamento non sono attualmente disponibili. Vi preghiamo di contattarci per ulteriori informazioni o inviare un’e-mail a support@example.com.
  • Le regole del prezzo carrello ora funzionano come previsto per gli ordini spediti a più indirizzi.
  • Le e-mail di notifica di spedizione inviate ai clienti ora contengono un collegamento per il monitoraggio dell’ordine.
  • I calcoli di spedizione ora vengono caricati correttamente dal carrello.
  • Ora puoi riordinare correttamente un prodotto configurabile quando spedisci l’ordine a più indirizzi. In precedenza, Magento aveva duplicato questo prodotto durante il riordino.
  • Magento ora mostra il costo corretto per la spedizione nel carrello quando si ritorna al carrello dalla pagina di pagamento per un ordine spedito a più indirizzi.
  • Ora puoi creare un’etichetta di spedizione come previsto. In precedenza, Magento visualizzava questo errore: “Cannot do shipment for the order”,”Invalid security or form key. Please refresh the page”.
  • Magento ora carica i metodi di spedizione come previsto nel flusso di lavoro di checkout durante l’esecuzione in Internet Explorer 11.x. In precedenza, quando si tentava di caricare i metodi di spedizione nel flusso di lavoro di checkout, Magento non caricava questi metodi e visualizzava questo errore: SCRIPT438: Object doesn’t support property or method entries.
  • Magento non visualizza più Metodo di spedizione: undefined-fixed nella pagina finale del checkout quando è selezionato un metodo di spedizione con un nome di metodo non definito o vuoto.
  • Le nuove pagine di ordini per ordini che contengono solo prodotti virtuali non visualizzano più un totale di spedizione e gestione.
  • La logica di convalida è stata aggiunta al campo Admin>Store>Configuration>Sales>shipping methods.

Sitemap

  • Magento non visualizza più più notifiche quando si fa clic sul pulsante Save in Marketin>Sitemap.
  • Il percorso specificato durante la creazione di una Sitemap non viene più trasferito all’inizio dell’URL che è incluso in qualsiasi messaggio di errore relativo alla Sitemap.
  • Sono stati corretti diversi problemi con gli URL delle immagini nella generazione della Sitemap. In precedenza, gli URL delle immagini della Sitemap avevano il percorso della cache errato e le dimensioni dell’immagine erano errate.

Store

  • Gli URL di reindirizzamento non vengono più troncati dopo tre slashes.
  • L’installazione di Magento non fallisce più con gli store predefiniti in app/etc/config.php a causa dei blocchi di MySQL.
  • Le pagine CMS non reindirizzano più alla home page dello store originale quando si cambia la visualizzazione dello store in una distribuzione multi-store.

Swatches

  • Magento ora mostra le opzioni di campione selezionate per un prodotto configurabile quando lo modifichi dal carrello.
  • Ora puoi aggiungere i valori delle opzioni al campione di testo e agli attributi del campione visivo usando POST V1/products/attributes/<attribute_code>/options.
  • Magento ora carica le immagini dei prodotti come previsto quando si passa da una variante all’altra (ad esempio dimensioni o colore).
  • Magento ora visualizza il prezzo “a partire da” corretto sul negozio per un prodotto configurabile con più attributi che includono un attributo di colore. In precedenza, Magento non mostrava il prezzo più basso.

Tax

  • La convalida per la lunghezza massima è stata aggiunta al campo Codice postale della pagina New Tax Rate.
  • Correzione di uno stile incoerente nei messaggi visualizzati quando si fa clic sul pulsante convalida partita IVA su Stores>Configuration>General.
  • Magento ora calcola correttamente l’IVA per i prodotti quando aggiunti al carrello.
  • È ora possibile salvare correttamente un’imposta sul prodotto fisso (FPT) su un prodotto assegnato a un sito Web specifico.
  • Ordinamento incoerente dell’imposta sui prodotti fissi (FPT e totali fiscali) sono stati risolti Admin order, creazione di fatture, fatture, creazione di pagine di note di credito e note di credito.

Testing

  • Sono stati aggiunti test di integrazione per le notifiche di Stock ProductAlert.

Translation and locales

  • Il supporto per la lingua serba di stampo latino è stato aggiunto a questa versione e ora i merchants possono distinguere tra le lingue serbe latine e cirilliche. Le versioni locali sono ora identificate come serbo (cirillico, Serbia) e serbo (latino, Serbia).
  • L’Arabic Date Selector ora mostra la data nel formato corretto. In precedenza, quando il sito era impostato su Arabo (Arabia Saudita), il selettore della data del negozio visualizzava sempre una data di GGGG.
  • I nomi dei paesi nei moduli di pagamento, spedizione e indirizzo di fatturazione ora sono traducibili.

UI

  • Le miniature della galleria multimediale non vengono più allungate quando le immagini hanno un rapporto orizzontale. In precedenza, queste immagini erano pixelate sulla pagina del prodotto.
  • L’importo dell’imposta nelle email degli ordini di vendita viene ora visualizzato prima della riga che mostra il totale generale dell’ordine.
  • Il campo Codice postale di fatturazione nella pagina Ordini e resi ora funziona come previsto. In precedenza, non era costantemente visibile.
  • Un’etichetta di intestazione mancante è stata aggiunta alla tabella Admin>System>Integration.
  • Il campo New Key è ora contrassegnato come campo obbligatorio con un asterisco quando si modifica una chiave di crittografia nella pagina Admin>System>Manage Encryption key.
  • Corretto errore di ortografia di “tier” (come in “tier price”) in tutta la base di codice.
  • Standardizzato il popup di conferma richiamato dalla pagina Admin Add New Tax Rules.
  • Suggested Terms in Admin>Marketing>Seo&Search>Search Terms sono ora in camel case.
  • Le anteprime via e-mail sono ora completamente reattive.
  • Ora è possibile confermare le modifiche alla struttura dell’albero delle categorie facendo clic sul pulsante OK della finestra di dialogo di conferma o usando il tasto Enter sulla tastiera. In precedenza, se si utilizzava il tasto Enter per confermare le modifiche, l’UI rispecchiava la modifica, ma le modifiche andavano durante l’aggiornamento della pagina.
  • La convalida del cliente è stata aggiunta ai numeri di tracciabilità della spedizione.
  • Magento ora visualizza i passaggi di pagamento nell’ordine personalizzato impostato in uiComponents SortOrder.
  • Rimosso un asterisco ridondante nella pagina Configure Product.
  • Rimossa l’ombra della box apparsa con il clic su un campione disabilitato per un prodotto in vetrina.
  • Magento ora visualizza un’icona a forma di puntatore per il cursore quando il cursore passa sopra il pulsante Collapse All/Expand All su Catalog>Category>Content Select da opzioni Gallery.
  • Il pulsante Get Video Information sulla pagina Product>Images e Videos>Add Video ora risponde come previsto.
  • Lo storefront ora riflette le impostazioni di altezza per le condizioni aggiunte a Terms and Conditions (Store>Terms and Conditions>Add New Condition). In precedenza, era possibile impostare un valore per l’altezza durante la creazione di una condizione, ma lo storefront non applicava questa impostazione.
  • L’etichetta Edit Attribute Set Name è stata corretta in Attribute Set Information su Admin>Store>Attribute Set>New Attribute Set.
  • Problema corretto con l’evidenziazione nella pagina dell’ordine di vendita dello storefront.
  • Sono stati corretti più errori di ortografia in tutto l’Admin e corretto un commento in Admin che non era traducibile.
  • Ora puoi usare @ submenu-desktop__padding per sovrascrivere il padding nel mixin .lib-main-navigation-desktop usando @ submenu-desktop__padding.
  • Le prestazioni del widget per fisarmonica sono state migliorate. In precedenza, quando si faceva clic per aprire un elemento chiuso, l’elemento attualmente aperto si chiudeva istantaneamente senza transizione.
  • Corretto disallineamento degli elementi della pagina nella pagina di pagamento della minicart quando il carrello contiene un prodotto configurabile.
  • La descrizione comandi associata al campo Product Additional Options per l’ordine nella dashboard del cliente è ora completamente visibile.
  • La pagina Nota di credito ora ha un pulsante Update Totals, come previsto.
  • Ora è possibile filtrare gli ordini per data nei negozi che eseguono la locale en_GB.
  • Le checkboxes presenti nei widget sono ora completamente selezionabili nell’Admin.
  • Gli attributi ridondanti presenti nel corpo del widget CMS sono stati rimossi.
  • La configurazione dei componenti dell’UI è stata corretta per eliminare il potenziale di sovrapposizione di etichette nel testo.
  • La weight attribute label viene ora visualizzata per gli attributi nei set di attributi.
  • Problemi corretti con Admin>Markenting>User Contents>Reviews Created date display.
  • La scheda corrente è ora contrassegnata come attiva come previsto nella barra laterale dell’account cliente.
  • bin/magento app:config:import e bin/magento setup:upgrade non fallisce più a causa di una limitazione del campo TEXT da flag_data nella tabella flag. Il campo flag_data è stato aumentato a MEDIUMTEXT (accettando 16 MB).
  • La stringa Unselect all text non viene più aggiunta all’elemento HTML dell’icona Compare nella pagina dei dettagli del prodotto quando si fa clic su questa icona.
  • Facendo clic su Visibility header su AdminZMarketing>All Reviews o Pending Review ora si disabilita l’abilità di ordinamento come previsto.
  • La colonna Azione è ora l’ultima colonna della griglia Admin>Content>Configuration.
  • La logica di convalida è stata aggiunta ai campi richiesti in Admin>Content>Widget>Add Widget.
  • Ora è possibile eseguire operazioni di eliminazione in blocco sui widget in Admin>Content>Widgets.
  • Il menu della barra laterale di navigazione dell’amministratore ora ha la funzionalità di attivazione / disattivazione per aprire e chiudere le voci di menu.
  • L’editor TinyMCE ora salva il contenuto con tag di stile in linea come previsto.
  • I merchants possono ora utilizzare varianti configurabili virtuali per assegnare un peso a un prodotto virtuale.

URL Rewrites

  • Abbiamo ripristinato il seguente fix, inclusa in 2.3.3, perché ha cambiato il comportamento del sistema previsto: “Magento non rimuove più la stringa di query dagli URL quando la stringa di query è preceduta da uno slash. In precedenza, quando un cliente apriva un URL che conteneva uno slash finale e una stringa di query (ad esempio, http://magento.host.com/sample-url-key/?cupcakes), Magento reindirizzava l’utente a un URL che ometteva lo slash (http://magento.host.com/sample-url-key) ”.
  • Magento ora popola la tabella url_rewrite con la nuova riscrittura dell’URL del prodotto quando si crea un nuovo prodotto quando è abilitata la modalità negozio singolo. In precedenza, Magento non generava un URL intuitivo al momento della creazione di prodotti quando era abilitata la modalità negozio singolo. La riscrittura degli URL non viene più persa se viene generata un’eccezione o si verifica un deadlock durante la rigenerazione dell’URL. In precedenza, quando si verificavano eccezioni o deadlock, gli URL non venivano rigenerati e Magento visualizzava pagine di 404.
  • Le pagine CMS ora reindirizzano correttamente dopo aver modificato la vista dello store.
  • Un aggiornamento della pianificazione delle categorie non deseleziona più l’impostazione Use Default value sulla chiave URL per la vista dello store.
  • Le prestazioni delle query MySQL sulle operazioni url_rewrite sono state migliorate. In precedenza, Magento eseguiva una scansione completa della tabella e la query era molto lenta.
  • CatalogUrlRewrite CatalogURLRewrite non genera più un URL di prodotto aggiuntivo durante la creazione del prodotto.
  • Magento ora memorizza correttamente l’attributo url_path per gli archivi non predefiniti.
  • Le seguenti parole chiave riservate non possono essere utilizzate come chiavi URL: admin, soap, rest, graphql e qualsiasi percorso di custom Admin.

Web API framework

  • Quando si usa la chiamata POST/V1carts/mine/items per per aggiungere un prodotto a un carrello, ma non si include il paramentro quote_id, Magento ora restituisce un errore 400 Bad Request come previsto. In precedenza, Magento aveva generato un errore 404 Not Found.
  • Aggiunti i campi Stores>Settings>Configuration>General>Currency Setup>Currency Converter API>API Key per abilitare il recupero dei tassi di cambio da http://free.currencyconverterapi.com.
  • Ora puoi impostare i tempi di scadenza per i token di autenticazione API REST in minuti e secondi. In precedenza, i tempi di scadenza erano definiti solo in ore.
  • Le chiamate GET V1/attributeMetadata/customerAddress/attribute/prefix e GET V1/attributeMetadata/customerAddress/attribute/suffix ora restituiscono le opzioni come previsto.

Wishlist

Lista desideri

  • Le wishlists visualizzano ora i valori per i tipi di file personalizzati del prodotto.
  • La logica di verifica è stata aggiunta alla lista dei desideri in modo che rifletta lo stato accurato delle scorte dei prodotti elencati.
  • Magento non visualizza più un errore JavaScript quando si tenta di rimuovere un elemento da una lista desideri. In precedenza, Magento ha rimosso l’elemento dalla lista dei desideri ma ha visualizzato un errore JavaScript nella console.
  • I conteggi SKU della lista dei desideri ora riflettono i prodotti effettivi elencati. In precedenza, il conteggio SKU era errato dopo la disattivazione di un prodotto.
  • I prodotti che vengono eliminati da una lista dei desideri dall’Admin vengono ora eliminati anche dalla lista dei desideri dello storefront.
  • Il display della lista dei desideri dell’amministratore ora elenca i prodotti configurabili corretti per tutte le liste dei desideri, indipendentemente dai negozi a cui sono state assegnate le liste dei desideri. In precedenza, le liste dei desideri visualizzate dall’admin mostravano solo prodotti appartenenti al sito Web predefinito.

WYSIWYG

  • Magento non visualizza più un errore JavaScript quando si tenta di rimuovere un elemento da una lista desideri. In precedenza, Magento ha rimosso l’elemento dalla lista dei desideri ma ha visualizzato un errore JavaScript nella console.
  • I conteggi SKU della lista dei desideri ora riflettono gli effettivi prodotti elencati. In precedenza, il conteggio SKU era errato dopo la disattivazione di un prodotto.
  • I prodotti che vengono eliminati da una lista dei desideri dall’Admin vengono ora eliminati anche dalla lista dei desideri dello storefront.

Al seguente link, potrete trovare maggiori informazioni:
https://devdocs.magento.com/guides/v2.3/release-notes/release-notes-2-3-4-open-source.html

Tutorial: come creare un’account di Sandbox PayPal

Oggi vediamo insieme come creare un account Sandbox con PayPal, ma prima ancora vediamo di capire cosa è un account Sandbox e a cosa serve.

L’account Sandbox è un account che serve per fare i test di pagamento utilizzando la piattaforma di PayPal come se fosse quella reale. Ci da modo, quindi, di essere sicuri che, una volta cambiati i dati con quelli di produzione, tutte le procedure di acquisto siano già rodate, senza dover spendere soldi reali per completare un acquisto.

Per poter iniziare dobbiamo, innanzitutto, avere un account PayPal. Nel caso in cui ne fossimo sprovvisti, è possibile crearlo al seguente link: https://www.paypal.com/it/webapps/mpp/account-selection

Dopo di che, dobbiamo accedere alla sezione developer di PayPal: https://developer.paypal.com/developer/applications

Dashboard developer tools

Una volta atterrati sulla nostra Dashboard, ritroveremo le App già create (Vedi app di test Gianluca Porta), mentre quasi al fondo pagina avremo gli account di sandbox (business@gianlucaporta.it).

Per ogni progetto che andremo a testare conviene creare un app, in modo tale da tenere sempre l’ambiente di staging configurato a dovere.

Iniziamo a creare la nostra nuova app, cliccando sul pulsante Create App. A questo punto inseriamo il nome dell’app ed anche l’account che vogliamo usare come business.

Creazione nuova app

Lo step successivo sarà il seguente, quello che includerà i dati da utilizzare sulla nostra piattaforma per configurare il nostro account business.

Credenziali da inserire nel progetto

Gli utenti di Sandbox, possono essere di due tipi:

  • Personal (utente finale che acquista)
  • Business (utente che vende dall’e-commerce)

Da questo link: https://developer.paypal.com/developer/accounts/ (raggiungibile anche cliccando sul menu Accounts) potrete creare, modificare o eliminare i vostri account Sandbox. Le credenziali che imposterete vi permetteranno l’accesso all’area di Sandbox, l’acquisto di test ecc.

Account Sandbox PayPal

Vi ricordo che l’account Sandbox di PayPal è speculare a quello reale, perciò eventuali configurazioni, transazioni, resi, ecc., saranno visibili accedendo all’area: https://www.sandbox.paypal.com/it/signin con le credenziali di test.

Tutorial: Come pulire la cache di magento 2

Oggi vediamo come pulire le cache di magento 2:
Per prima cosa bisogna accedere all’area di amministrazione del sito web, a differenza della Magento 1 la url della Magento 2 viene generata in modo variabile già in fase di installazione per questioni di sicurezza, (avremo quindi una url simile a questa https://www.miosito.it/admin_adsfadsf) e mettere utente e password per fare il login.

Una volta dentro dobbiamo andare nel menu Sistema o System, nel caso non abbiate il pacchetto di traduzione Italiano installato (come negli screen). Qua dentro troveremo la voce Gestione della Cache (Cache Management) dentro l’area Tools del menu.

Dopo aver cliccato avremo una schermata cosi:

La schermata a questo punto è pressoché simile alla versione uno di Magento a pari funzionalità.

Nella griglia che vediamo nell’immagine sopra, abbiamo a sinistra delle caselle (checkbox) che dovremo spuntare in modo tale da scegliere quale cache andare ad aggiornare / disabilitare o abilitare nel caso fosse disabilitata.
Per eseguire l’operazione bisogna scegliere l’Azione (Action) presente nel menu a tendina in alto a sinistra sopra la griglia, dopo di che cliccare su Invia.

Una volta terminata l’operazione apparirà un messaggio per segnalare l’avvenuta operazione:

Gli altri metodi di pulizia delle cache sono:

  • utilizzare il pulsante Pulisci cache Magento (FLUSH MAGENTO CACHE);
  • lanciare i comandi di pulizia cache:
    • bin/magento cache:clean
    • bin/magento cache:flush

Se abbiamo creato un nuovo attributo o se abbiamo modificato da script qualche tabella del database, sarà necessario eseguire il pulsante Pulizia cache Storage, in quanto eventuali collection già caricate saranno in cache e non vedremo i nuovi dati.

Abbiamo ancora nella Gestione della Cache Aggiuntiva, la parte relativa alla cache delle immagini e allo swatch delle immagini (potrebbero non essere usate, in quanto bisogna capire come è stato scritto il tema o perché magari si usano solo prodotti di tipo semplice (simple)). La gestione della cache dei js/css (anche questa potrebbe non essere usata, se si usa una cdn ad esempio potrebbe non aver senso far comprimere il js/css a magento)

Queste schermate mostrate sono quelle base si magento, eventuali moduli installati potrebbero aggiungere delle cache, come i filtri di categoria (Layered Navigation).

Tutorial: Come pulire la cache di magento 1

Oggi vediamo come pulire le cache di Magento 1:
Per prima cosa bisogna accedere all’area di amministrazione del sito web, solitamente raggiungibile alla url: https://www.miosito.it/admin e mettere utente e password per fare il login.

Una volta dentro dobbiamo andare nel menu Sistema o System, nel caso non abbiate il pacchetto di traduzione Italiano installato. Alla fine della tendina del menu ci sarà la voce Gestione della Cache (Cache Management).

Dopo aver cliccato avremo una schermata cosi:

In questo caso si può notare che la cache dei blocchi risulta essere invalidata, il che vuol dire che ad esempio è stato fatto il salvataggio di un prodotto e le informazioni in front-end non saranno visibili finché noi non andiamo manualmente a pulirla.
Nella griglia che vediamo nell’immagine sopra, abbiamo a sinistra delle caselle (checkbox) che dovremo spuntare in modo tale da scegliere quale cache andare ad aggiornare / disabilitare o abilitare nel caso fosse disabilitata.
Per eseguire l’operazione bisogna scegliere l’Azione (Action) presente nel menu a tendina in alto a destra sulla griglia, dopo di che cliccare su Invia.

Una volta terminata l’operazione dovrà comparire un messaggio simile a questo:

Gli altri metodi di pulizia delle cache sono:

  • utilizzare il pulsante Pulisci cache Magento
  • pulire da ftp/sftp/ssh la cartella var/cache, presente sulla root del progetto.

Se abbiamo creato un nuovo attributo o se abbiamo modificato da script qualche tabella del database, sarà necessario eseguire il pulsante Pulizia cache Storage, in quanto eventuali collection già caricate saranno in cache e non vedremo i nuovi dati.

Abbiamo ancora nella Gestione della Cache Aggiuntiva, la parte relativa alla cache delle immagini e allo swatch delle immagini (potrebbero non essere usate, in quanto bisogna capire come è stato scritto il tema o perché magari si usano solo prodotti di tipo semplice (simple)). La gestione della cache dei js/css (anche questa potrebbe non essere usata, se si usa una cdn ad esempio potrebbe non aver senso far comprimere il js/css a magento)

Queste schermate mostrate sono quelle base si magento, eventuali moduli installati potrebbero aggiungere delle cache, come la Full Page Cache (Fpc) o eventuali filtri di categoria (Layered Navigation).

Meet Magento Italy / Magentiamo Day

Quest’anno avevo deciso di intensificare la mia attività di networking per ingrandire la mia rete di contatti e aumentare le mie conoscenze nell’ambito web / e-commerce partecipando ad eventi in giro per l’Italia.
Per cui stavo tenendo d’occhio questi due:

A prescindere dalla questione networking, aumentare la mia presenza ad eventi simili era un buon proposito che mi ero prefissato per quest’anno.
Purtroppo tutti ci dobbiamo piegare a questa pandemia da covid-19 e quindi il Meet Magento ce lo siamo giocati, spero nell’anno prossimo. Mentre il Magentiamo Day per il momento è slittato al mese di maggio, ma io purtroppo non sono molto sicuro che ci sarà.

Se avete qualche evento interessante su questo settore da suggerire scrivetemi pure a info@gianlucaporta.it

Il SEO è Morto: Guida al web marketing (Recensione libro)

Dopo l’arrivo del Kindle di amazon, questo: “Il SEO è Morto: Guida al web marketing” è il primo libro gratuito che ho deciso di leggere, anzi direi di mangiare visto che le sue 160 pagine le ho finite in appena 2 giorni dedicando in totale circa 4 ore alla lettura del libro.
Diciamo che è un libro che merita più attenzione e tempo per testare quanto suggerito dallo scrittore, sia per capire come funziona questo settore e per memorizzare al meglio quanto suggerito.
Cosa che farò sicuramente con più calma nei mesi a venire, riprendendolo e guardando nel dettaglio quanto di più credo si incentri sulla mia tipologia di business.

Ho scelto questo libro sicuramente per il titolo provocatorio, il fatto che tratta un argomento di cui sono molto curioso ma poco esperto ha fatto il resto.
Mi è piaciuta molto la semplicità di linguaggio utilizzato, è un libro molto scorrevole da leggere e con tanti consigli utili da testare. Vengono nominati diversi strumenti per lavorare che lo scrittore ha testato in prima persona e su cui dispensa consigli.

Covid-19 / Business / E-commerce

Piccola premessa: Non voglio parlare del decreto cura Italia, dei 600€ per le partite iva / professionisti. Non voglio toccare argomenti politici in generale. Non vorrei neanche che qualcuno pensasse: “ma come fai a parlare di business in una situazione del genere, con la gente che muore, ma un pò di rispetto”.

La vita va avanti nonostante il covid, le spese non si fermano e ai problemi che il lock down sta causando potrebbero aggiungersi situazioni peggiori della pandemia stessa. Volevo pertanto condividere il mio modo di vedere e di affrontare queste situazioni di crisi, in modo tale che possa essere per qualcuno di ispirazione e per qualche altro di confronto.

Per prima cosa bisogna dire che io ero già abituato dal 2016 a lavorare in remote working / smart working. Utilizzo entrambi i termini perché nel mio caso si tratta molto spesso di smart working, in quanto non sono un dipendente di un’azienda che deve quasi sempre dover dare disponibilità negli orari di ufficio della sua azienda. Questo mi ha agevolato notevolmente, sia dal punto di vista della presenza dei numerosi strumenti già in mio possesso per svolgere la mia attività, sia per le abitudini già consolidate per poter ottimizzare il mio tempo / lavoro al meglio.
Qui sarei curioso di sapere come se la sta cavando chi ha iniziato per necessità/obbligo in questo periodo, che problemi ha riscontrato e come si trova. Ma soprattutto se finito tutto preferirebbe continuare a lavorare con questa modalità o far tornare tutto come prima.
Purtroppo siamo un paese molto arretrato da questo punto di vista, che ha come base il controllo del datore di lavoro nei confronti dei dipendenti, della serie se stai a casa non lavori mentre se stai in ufficio davanti al pc (magari a giocare a solitario) stai producendo e ti meriti lo stipendio. C’è anche da dire che in tanti non sono pronti a lavorare da casa per le troppe distrazioni che si possono produrre in un ambiente famigliare se non si è in grado di essere diligenti.

Ora cambiamo argomento, il luogo in cui lavorare è solo una parte del problema, perché ci sono tante tipologie di lavori che per limiti fisici non permettono né lo smart working né il remote working. Come il barista, il cameriere, il commesso ecc. Invece qui sarei curioso di sapere come stanno rivedendo la loro vita le persone che normalmente ricoprono questo tipo di ruoli. Se stanno passando il loro tempo sul divano, se stanno studiando o facendo corsi riguardo qualcosa o se stanno cercando di reinventarsi. In queste situazioni un pò tragiche ovviamente le persone si dividono in due tipologie: quelli che si lamentano e quelli che si rimboccano le maniche. A me interessano la seconda categoria, quelli che trovano le soluzioni e che da queste situazioni escono più forti di prima. Questo perché credo di essere tra loro.
Io non ho subito per fortuna un calo o un cambio di modalità di lavoro, anzi, forse è addirittura aumentato. Visto appunto lo spostamento dal fisico all’online. Ma in ottica di un possibile calo di fatturato nei prossimi mesi, sto investendo i miei risparmi in diversi settori di mio interesse, per poter espandere o modificare il mio business senza problemi e cercando di essere il meno impreparato possibile. Delle volte bastano poche cose, ad esempio ho acquistato il kindle di amazon ed ho iniziato a leggere i libri gratuiti rilasciati agli utenti amazon prime che riguardano maggiormente il mio settore (faccio giusto due titoli: Il SEO è Morto: Guida al web marketing / Alibaba: La storia di Jack Ma e dell’azienda che ha cambiato l’economia globale).

Ho visto anche correre ai ripari tanti che non avevano mai creduto e investito nell’e-commerce, cercando di tirarne su uno in breve tempo (ovviamente chi è del mestiere conosce i problemi che ci sono dietro quando si fanno le cose di fretta, il rischio è sempre quello di fare peggio). Spero che questo, per tanti, possa servire da lezione in modo che tutti capiscano che bisogna sempre e costantemente investire nella propria attività per innovarsi e non farsi rubare la scena da terzi per poi piangersi addosso.
Un problema che credo sia fondamentale per i negozi online è il calo della produzione, (qui sarebbe interessante capire, quelli che riescono a tenere botta come stanno gestendo questa situazione). Quindi, per capirci, ho notato che chi aveva dei piccoli magazzini si è trovato nella situazione di dover chiudere, esponendo sul sito dei banner per avvisare che le spedizioni si erano fermate per mancanza di merce.
La mia esperienza, ad esempio, riguarda il tentativo di acquistare attrezzatura fitness da palestra per creare una mini home gym. Intanto, la difficoltà di trovare dei prezzi normali è stata alta, ma ciò che era costante era la disponibilità (esaurito o in riassortimento); è andato tutto a ruba, insomma.
Per capirci, anche un grande brand come Decathlon, leader del mercato, ha ridotto prima a 1000 ordini al giorno, poi a 2000, con il blocco acquisti che partiva quasi dalle 2 del mattino perché avevano già bruciato disponibilità o ordini giornalieri. Il che provocava, ovviamente, anche il crash del sito per sovraccarico e fortunato chi riusciva a concludere l’ordine.

E voi che strategia avete adottato? Come avete modificato o migliorato la vostra vita in questo periodo di crisi? Avete creato qualche nuovo business?
Scrivetemi pure a info@gianlucaporta.it se vi va di condividere la vostra esperienza. Potrei magari ricondividerla nel mio blog citandovi o può essere modo per fare networking tra di noi.