Maho 26.9.2, la patch di manutenzione che cambia l'API
Nessuna funzione nuova nella 26.9.2, ma diversi fix backportati cambiano cosa restituisce la REST API: prezzi per gruppo cliente, giacenze limitate e ordini guest.
La 26.9.2 è una patch di manutenzione della linea 26.9: nessuna funzione nuova, solo correzioni
backportate da main. Il punto è che alcune di queste correzioni cambiano quello che la REST API
restituisce, quindi la nota “Before you deploy” va letta prima di aggiornare, non dopo.
Prezzi e gruppi cliente
La correzione #1563 fa applicare alle letture dei prodotti via API e ai carrelli via API le regole di prezzo del catalogo e il gruppo cliente di chi chiama. Prima un cliente autenticato poteva ricevere i prezzi del gruppo NOT LOGGED IN e anche creare ordini con quei prezzi.
Un carrello di cliente già salvato come NOT LOGGED IN prende il gruppo corretto alla scrittura
successiva, quindi i suoi prezzi cambiano. Il codice custom deve leggere il gruppo con
Mage::helper('customer')->getCurrentGroupId(), non dalla sessione del cliente.
Giacenze nella risposta prodotto
Con
#1532
la quantità esatta non è più visibile a chiunque: chiamanti anonimi e clienti ricevono stockQty
solo quando la quantità è pari o sotto la soglia Catalog > Inventory > Stock Options > Only X left
Threshold. La soglia predefinita è 0, quindi in pratica questi chiamanti ricevono null e devono
usare stockStatus, oppure un utente API con permesso products.
Ordini guest e dati del carrello
Due interventi sullo stesso tema:
- #1573
fa rispondere
403con “Guest checkout is not allowed for this cart” quando le impostazioni rifiutano il checkout guest, al posto di un401fuorviante. Il caso include un carrello con un prodotto scaricabile, che le impostazioni predefinite rifiutano; - #1565 fa conservare agli ordini creati via API o CLI i gift message, i dati dei bundle, i link dei scaricabili e i file caricati, come succede a un ordine fatto dallo storefront.
La seconda porta anche un effetto collaterale da conoscere: gli observer che copiano i dati del
carrello nell’ordine ora girano nell’area globale. Un modulo che li disattivava in frontend o
adminhtml deve disattivarli nell’area globale.
Varianti configurabili e prezzi
#1574
corregge GET /api/rest/v2/products/{id}, che restituiva prezzo 0 per ogni variante di un prodotto
configurabile. Ora mostra il prezzo che il carrello applica a quella variante, e il finalPrice
include il prezzo a scaglioni per quantità 1 come fa il carrello. Il metodo
Mage_Catalog_Model_Product_Type_Configurable_Price::_calcSelectionPrice() diventa il metodo
pubblico calcSelectionPrice(array $priceInfo, float $productPrice): float.
Le altre correzioni della patch
- #1514
fa salvare a
import:configeconfig:setun valore passando dal backend model del campo, come fa il pannello di configurazione: un valore che l’admin rifiuta ora fa fallire il comando. - #1533 reindirizza con 301 l’URL dell’identificatore della home CMS alla URL di base, mantenendo la query string.
- #1536
corregge sitemap,
llms.txte breadcrumb della 404 quando la home o la pagina 404 sono salvate come identificatore più page id. - #1540
manda una sola risposta 103 Early Hints per pagina, con tutti gli header
Linkdi preload, invece di una per ogni file CSS o JS. - #1550 conserva il prezzo dell’opzione di ogni riga di uno stesso prodotto configurabile dopo il caricamento del carrello.
- #1553
fa conservare all’editor i attributi
classestylesulle immagini. - #1555 mostra lo swatch di un filtro attivo solo quando quell’opzione ha davvero un’immagine swatch.
- #1560
elimina la deprecation
strlen(null)nelle condizioni delle regole sui prodotti senza valore. - #1562
carica i tab Top pages e Entry/exit e il widget On Sale sui filesystem case-sensitive. La classe
Mage_CatalogRule_Block_Product_Widget_OnSalediventaMage_CatalogRule_Block_Product_Widget_Onsale, mentre il tipo di widget non cambia. - #1579
completa la traccia delle richieste che chiamano
exit(), come i download e l’anteprima immagini del WYSIWYG. - #1584 impedisce alla pagina di autorizzazione OAuth di mostrare a un visitatore non autenticato il percorso personalizzato dell’admin.
- #1586 scrive nella sitemap la URL canonica di ogni pagina, rispettando Trailing Slash Behavior, così i motori non le segnalano più come “Page with redirect”.
Prima di aggiornare
Se hai codice custom, tre punti meritano una verifica: la lettura del gruppo cliente per i prezzi via
API, un eventuale override di Mage_Core_Helper_Url::addOrRemoveTrailingSlash(), che riceve un
parametro $store opzionale in più, e un override di
Mage_Sitemap_Model_Sitemap::writeSingleSitemapFile(), che deve essere pubblico.
Per il quadro della linea 26.9, con le novità che questa patch porta avanti, la panoramica è nella pagina Scopri MahoCommerce.
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
Fonte: Release 26.9.2
Il tuo negozio vende ancora?
Raccontaci da dove parti: ti rispondiamo con una prima valutazione, senza impegno.
Chiedi l'analisi del negozio