In fase di sviluppo può capitare di dover cambiare il database collegato al framework Magento, ad esempio per ripristinare un backup del database. Per effettuare quest’operazione apriamo il file local.xml che troviamo nella cartella app/etc/. Leggi tutto “Come effettuare lo switch del database – Magento 1”
Come mostrare il blocco prodotti in homepage – Magento 2
Il widget relativo ai prodotti ha il limite di non comprendere la toolbar, e di conseguenza non comprende il menu a tendina per l’ordinamento dei prodotti. In questo articolo quindi, vedremo come inserire il blocco prodotti, come se fossimo all’interno di una categoria. Leggi tutto “Come mostrare il blocco prodotti in homepage – Magento 2”
Query al db di Magento tramite le classi Zend
Nell’articolo precedente abbiamo visto come configurare la connessione al database di Magento tramite le classi di Zend Framework.
Il passo successivo consiste nella preparazione di un’istanza con un ruolo di interfaccia per la tabella, passando il nome della stessa tabella come parametro del costruttore della classe Zend_Db_Table.
$product_table = Zend_Db_Table('catalog_product_entity');
Uno dei tanti casi concreti in cui possiamo usare questa tecnica è quello in cui si ha la necessità di caricare una serie di attributi ( nell’esempio tutti i decimali) di un certo prodotto.
$select = $product_table->select(Zend_Db_Table::SELECT_WITH_FROM_PART); $select->setIntegrityCheck(false) ->where('catalog_product_entity.entity_id = ?', $product_id) ->join('catalog_product_entity_decimal', 'catalog_product_entity_decimal.entity_id = catalog_product_entity.entity_id'); $results = $product_table->fetchAll($select);
In questo modo, come risultato avremo un array dove ogni elemento corrisponde ad uno specifico attributo per un singolo negozio (o per store_id = 0).
Connessione al db tramite le classi Zend
Un’alternativa interessante alle cosiddette query grezze (raw query per gli amanti dell’inglese) è l’utilizzo delle classi di Zend, che dopotutto è il framework su cui si fonda Magento. Leggi tutto “Connessione al db tramite le classi Zend”
Come funziona la cache di Magento 1.9.x
In questo articolo ci riferiamo esclusivamente alla cache interna di Magento, che riguarda blocchi HTML, file di configurazione e altri file xml, come ad esempio quelli relativi a layout. Questo tipo di cache quindi, non agisce sui file php.
Ogni volta che modifichiamo un file xml nella cartella layout, ad esempio il cambio di un template associato ad un certo blocco, occorre pulire la cache di Magento in modo tale da applicare le modifiche.
Per far questo quindi, basta andare nella sezione ‘Sistema’ > ‘Gestione della cache’ del pannello di amministrazione e usare il pulsante “Pulisci cache magento” (“Flush magento cache” per chi non avesse la traduzione).
In alternativa, si può avere lo stesso risultato cancellando la cartella var/cache all’interno della root di Magento.
Pattern Registry in Magento
Un altro pattern che fa uso delle variabili ad accesso globale è “Registry”, tramite l’associazione di un oggetto a una precisa chiave (stringa).
A differenza delle variabili globali però, Leggi tutto “Pattern Registry in Magento”
Singleton pattern in Magento
Per semplificare non è altro che una classe con unica istanza accessibile da una qualsiasi posizione. In Magento, questo si basa sull’utilizzo del pattern Registry, descritto qui, ed è usato ad esempio per gestire le sessioni sia lato frontend che backend. Leggi tutto “Singleton pattern in Magento”