Magento-1.9

Gli observer, un caso di utilizzo concreto

Magento ha guadagnato una vasta popolarità nello sviluppo di piattaforme dedicate all’e-commerce grazie anche alla scelta implementativa di adottare vari design pattern molto apprezzati dagli sviluppatori tra i quali il pattern ‘Event Observer’. Nell’universo Magento il pattern ‘Event Observer’ fornisce un valido meccanismo per estendere Magento stesso, senza la necessità di sovrascrivere le classi del core. Questo offre agli sviluppatori la possibilità di iniettare della logica personalizzata o alterare il normale flusso di particolari funzioni del sistema.

Come creare un modulo in Magento 1, parte 1

Magento deve il suo successo, tra le altre sue caratteristiche e punti di forza, alla sua architettura modulare, che lo rende quindi facilmente estendibile. Ogni concetto funzionale è salvato in un modulo e aggiungerne di nuovi al sistema di base diventa un’attività relativamente facile. Con l’aggiunta di­ plugin viene messa a disposizione per gli sviluppatori la possibilità di ­estendere i servizi offerti o di rielaborare e ridisegnare, ­quelli esistenti.

[Modulo] Status Shipping Method Manager, abilitare/disabilitare metodi di spedizione automaticamente

In fase di campagna promozionale potrebbe esserci la scelta di voler attivare il free shipping come metodo di spedizione e contemporaneamente disattivare il flatrate (o altro/i).

Perfetto! Andando nella configurazione di Magento queste operazioni sono davvero semplici da realizzare.

Ma se volessimo compiere queste azioni nel bel mezzo della notte? Come comportarci se il marketing ci chiede come attivare il free shipping automaticamente?

Bug nella reportistica dei carrelli abbandonati

­Navigando nel report dei carrelli abbandonati di Magento (Reports > Shopping Cart > Abandoned Carts) di uno dei miei siti (versione 1.9.2.4) noto che risulta essere elencato un solo carrello, di un cliente creato direttamente dall'admin; tutti gli altri carrelli abbandonati (e ce ne sono) non risultano in lista.

[Modulo] Status Static Blocks Manager, abilitare/disabilitare blocchi CMS automaticamente

Capita frequentemente di voler abilitare o disabilitare, a volte in orario e data precisi, dei blocchi CMS, spesso utilizzati come spazio pubblicitario per rendere visibili ai clienti le promozioni in corso.

Per esempio, all'entrata di un nuovo giorno, si vuole disattivare un blocco CMS contenente la vecchia promozione per essere sostituito (abilitare) da un altro con la nuova promozione.

Di default Magento non permette questo tipo di gestione ed occorrerebbe quindi l'operazione manuale di abilitazione/disabilitazione da parte del gestore dello store.

Cambiare via codice il valore di un campo della tabella core_config_data

E' possibile cambiare il valore di un campo della tabella core_config_data grazie al metodo:

Mage::getConfig()->saveConfig($path, $value, 'default', 0);

dove $path è la colonna della tabella, $value è il valore nuovo del campo, 'default' e 0 impostati per il valore di default, lo store "0".

Se si volesse invece impostare il valore per uno specifico store:

Mage::getConfig()->saveConfig($path, $value, 'store', $storeID);