Vai al contenuto
Home / Blog /Novità Maho / Le classi nei contenuti arrivano in vetrina e l'assistente impara a leggere

Le classi nei contenuti arrivano in vetrina e l'assistente impara a leggere

Le classi Tailwind dei contenuti ora si vedono sullo storefront, l'assistente dell'admin legge la guida del negozio prima di rispondere e le regole del carrello tornano a guardare l'indirizzo giusto: il riepilogo dal 21 al 28 ottobre.

Read in English

Settimana importante. Il lavoro più grosso è un editor che smette di far scrivere alla cieca: le classi Tailwind digitate nei contenuti arrivano sullo storefront e il codice si controlla mentre lo si scrive. Intorno, l’assistente dell’admin impara a leggere la guida del negozio, le regole del carrello tornano a guardare l’indirizzo di spedizione e i comandi del terminale si allargano.

In sintesi

Le classi Tailwind nei contenuti ora arrivano allo storefront

La pull request più grande della settimana è #1611 di fballiano, unita il 26 ottobre. Le classi di Tailwind e DaisyUI scritte in una pagina CMS, in un blocco, in un post del blog, in un widget, in una variabile, in una condizione del checkout, nei campi del footer del tema e nelle descrizioni di prodotti e categorie entrano nello stesso foglio di stile del tema, quindi si vedono sullo storefront. Prima esistevano nel CSS solo le classi dei template e la lista corta dichiarata a mano nel sorgente.

Il meccanismo, in una frase: le classi si raccolgono dai contenuti salvati nel database e il foglio di stile del tema si compila in una copia che lo storefront carica al posto dell’originale. Sull’editor arriva anche un pulsante Source, che mostra l’HTML in un editor di codice e completa le classi disponibili, segnalando quelle che lo storefront non usa.

Due cose da sapere prima di aggiornare, dalla descrizione della pull request: su un server dove esiste la Tailwind CLI il cron prepara la copia entro 15 minuti dall’aggiornamento, e il pulsante Mostra o Nascondi editor sotto i campi del contenuto non c’è più. Maho richiede ora mahocommerce/maho-composer-plugin 5.2.

La storia completa, con le figure e i limiti dichiarati, è nell’articolo Le classi Tailwind nei contenuti ora arrivano allo storefront.

L’assistente legge la guida del negozio

L’assistente dell’admin rispondeva a domande sul funzionamento di una funzione inventando. Nella #1630 la stessa risposta, su come mostrare una foto come campione di un colore, era stata inventata cinque volte di fila. Con #1639 di fballiano l’assistente legge la guida utente prima di rispondere. La guida, la documentazione per chi sviluppa, quella dell’API e quella dell’hosting ora vivono nel repository, accanto al codice: ogni modulo porta le sue pagine, un modulo disattivato le nasconde, e ogni negozio legge le pagine della propria versione.

Nello stesso filone, #1648 sposta accanto a ogni modulo le pagine che lo descrivono, con una nuova categoria per l’API, così la documentazione non resta più ammassata nella cartella comune.

Il passo successivo misura le risposte. #1661 di fballiano porta un benchmark di 49 domande sulle aree che la pull request corregge, cioè campioni, regole di catalogo, impostazioni e contenuti, ordini: sulle stesse domande Haiku 5.5 passa dal 49% al 78% di risposte corrette o oneste, e Sonnet 5.5 dal 76% al 94%. Il modello ora conosce lo scostamento del fuso orario del negozio e i cambi di ora dell’ultimo anno, quindi un orario scritto dall’amministratore diventa UTC come deve, e sa la lingua di ogni store view. Un’azione che clicca un pulsante, come Salva o Invia, aspetta la conferma dell’amministratore come fa una scrittura.

Le regole del carrello tornano a guardare l’indirizzo giusto

#1669 di hirale sistema tre problemi di calcolo che si tenevano per mano. Una regola del carrello con spedizione gratuita per “spedizione con gli articoli corrispondenti” non dava più la spedizione gratuita al checkout, e una condizione come “Subtotale maggiore o uguale a” veniva controllata sull’indirizzo di fatturazione, che non ha articoli. La causa sta nella #1620, che togliendo i totali nominali ha lasciato il validatore fermo sull’indirizzo sbagliato mentre si raccoglie quello di spedizione. Con l’indirizzo giusto si è visto il terzo difetto: la spedizione gratuita gira prima che il totale della spedizione raccolga il peso, quindi una condizione sul peso totale veniva valutata sul carrello di un passaggio precedente e un cambio di quantità dava uno sconto o una spedizione gratuita sbagliati.

Clienti e indirizzi dalla riga di comando

I comandi ./maho per amministratori e clienti ora prendono i valori come argomenti, così uno script può eseguirli in una riga sola; un valore mancante apre la domanda nel terminale come prima, e con -n il comando non chiede niente. Lo fa #1651 di fballiano, che aggiunge anche il gruppo cliente a customer:create e i comandi per creare, elencare ed eliminare i gruppi.

# un gruppo clienti nuovo, poi un cliente del sito base che lo usa
./maho customer:group:create wholesale 3
./maho customer:create [email protected] "$PASSWORD" Mario Rossi base wholesale

Sempre di fballiano, #1664 porta i comandi per gli indirizzi: customer:address:create, customer:address:list e customer:address:delete. Il primo indirizzo di un cliente diventa quello di fatturazione e di spedizione predefinito, e --default-billing e --default-shipping spostano la scelta su un indirizzo successivo. I dati passano dagli stessi controlli del modulo dell’admin, quindi un attributo cliente obbligatorio viene chiesto o rifiutato anche dal terminale.

Prezzi delle varianti nei feed

Un feed che esporta i figli di un prodotto configurabile mandava per ogni variante il prezzo del figlio, che al checkout non viene mai addebitato: il cliente paga il prezzo del padre più il prezzo delle opzioni scelte. Con #1643 di fballiano il feed scrive prezzo, prezzo finale, prezzo di listino e prezzo speciale come li calcola il checkout, con le regole di prezzo del catalogo e le date del prezzo speciale del padre. Il motivo è pratico: Google Merchant Center e le altre piattaforme possono rifiutare un articolo il cui prezzo non corrisponde a quello della pagina prodotto. Le mappature predefinite non vanno cambiate, e la correzione è in backport nella linea 26.9 con #1646.

URL con spazi e passkey che non sbloccano più l’accesso

#1673 di fballiano fa leggere un URL come lo legge un browser. Prima l’immagine di un prodotto via REST API e il link di un prodotto scaricabile partivano con i byte grezzi, quindi uno spazio rompeva la riga della richiesta e un carattere di controllo diventava un trattino basso. Ora uno spazio e un carattere accentato vengono codificati, un dominio Unicode diventa punycode, e un URL con un carattere di controllo viene rifiutato. Al salvataggio di un prodotto, l’admin, la REST API e SOAP rifiutano un link o un campione che non sia un URL http o https valido.

L’accesso con passkey all’admin si era rotto in un modo fastidioso: l’autenticatore confermava l’utente nel browser e la pagina di accesso tornava con un errore, e siccome registrare una passkey disattiva l’accesso con password l’account restava chiuso fuori. #1640 di empiricompany, l’organizzazione con cui MageMEGA pubblica i suoi progetti open source, apre ora la dashboard appena l’autenticatore conferma l’utente, chiede il codice di 2FA quando serve e lascia il messaggio di errore normale quando una passkey viene usata senza un accesso avviato. Anche questa è in backport nella linea 26.9 con #1645.

Altro in settimana

Nell’admin, i sottomenu chiusi della navigazione principale non restano più raggiungibili con il tasto Tab e non vengono più letti dai lettori di schermo (#1666), i riquadri sotto un titolo delle tab degli attributi, delle opzioni personalizzate e dei bundle tornano a essere una card sola (#1647), e la riga sotto il nome di un attributo nella scheda del prodotto finisce all’altezza giusta quando il valore va su più righe (#1657). Sulla pagina categoria i due pulsanti “View as” mostrano solo le icone, alla stessa dimensione (#1660).

Sul lato dati e API, l’importazione delle opzioni di un attributo salva le opzioni anche con il modulo dei campioni disattivato (#1672), i filtri di navigazione a livelli dell’API rispondono invece di dare un errore 500 con lo stesso modulo disattivato (#1670), e la pagina CMS scelta come pagina 404 non si apre più con stato 200 al proprio indirizzo (#1653), con il giro infinito di forward chiuso subito dopo (#1654).

Changelog

  • #1673 URL con spazio o carattere non ASCII nelle immagini della REST API e nei link dei prodotti scaricabili, di fballiano.
  • #1672 importazione delle opzioni di un attributo con il modulo dei campioni disattivato, di hirale.
  • #1671 backport in 26.9 dei filtri di navigazione a livelli, di github-actions[bot].
  • #1670 filtri di navigazione a livelli dell’API con il modulo dei campioni disattivato, di hirale.
  • #1669 spedizione gratuita e condizioni delle regole del carrello sull’indirizzo di spedizione, di hirale.
  • #1666 sottomenu chiusi della navigazione admin fuori dall’ordine del tasto Tab, di empiricompany.
  • #1664 comandi per creare, elencare ed eliminare gli indirizzi di un cliente, di fballiano.
  • #1662 backport in 26.9 dei pulsanti “View as” della pagina categoria, di github-actions[bot].
  • #1661 risposte dell’assistente dell’admin con un benchmark che le misura, di fballiano.
  • #1660 pulsanti “View as” della pagina categoria con le sole icone, di fballiano.
  • #1658 backport in 26.9 della riga sotto il nome di un attributo, di github-actions[bot].
  • #1657 riga sotto il nome di un attributo nella scheda del prodotto con un valore su più righe, di fballiano.
  • #1654 pagina 404 che rispondeva con un giro infinito di forward al proprio indirizzo, di fballiano.
  • #1653 pagina CMS della 404 che si apriva con stato 200 al proprio indirizzo, di fballiano.
  • #1651 argomenti da riga di comando per i comandi di amministratori e clienti, gruppo cliente in customer:create e comandi dei gruppi, di fballiano.
  • #1648 documentazione accanto ai moduli che descrive, con la nuova categoria per l’API, di fballiano.
  • #1647 riquadri sotto un titolo che sembravano due card nelle tab degli attributi, delle opzioni e dei bundle, di fballiano.
  • #1646 backport in 26.9 dei prezzi delle varianti nei feed, di github-actions[bot].
  • #1645 backport in 26.9 dell’accesso con passkey, di github-actions[bot].
  • #1644 test del browser in CI che finivano fuori tempo con il mirror dei pacchetti Ubuntu lento, di fballiano.
  • #1643 prezzi delle varianti nei feed come li addebita il checkout, di fballiano.
  • #1640 accesso all’admin con passkey che falliva dopo la conferma dell’autenticatore, di empiricompany.
  • #1639 guida utente letta dall’assistente e documentazione di mahocommerce.com nel repository, di fballiano.
  • #1611 classi Tailwind e DaisyUI nei contenuti CMS e di catalogo, con l’editor di codice che completa le classi, di fballiano.

Nota di redazione.Testo preparato con l'aiuto dell'AI e verificato sulla fonte prima della pubblicazione. Può contenere errori: se ne trovi uno, segnalalo.Leggi il Manifesto

Il tuo negozio vende ancora?

Raccontaci da dove parti: ti rispondiamo con una prima valutazione, senza impegno.

Chiedi l'analisi del negozio