Articoli

Integrare il carrello acquisti di Magento in WordPress

Un nostro recente progetto ha interessato due delle più famose e utilizzate piattaforme open-source, WordPress e Magento (rispettivamente CMS ed E-commerce).
Una delle necessità era quella di visualizzare, nel blog, il numero di articoli attualmente nel carrello dello store.
Di seguito un breve riassunto dei passi necessari per effettuare il suddetto adattamento.
Precisiamo che esistono alcuni plugin, per citarne uno FishPig, che rendono tale integrazione automatica.
Iniziamo con alcune informazioni:

1. I cookies del “frontend” di Magento non sono accessibili al di fuori di Magento stesso. Questo rende i dati di sessione dell’ambiente ecommerce inaccessibili da una directory diversa da quella di installazione. Bisogna modificare dal pannello amministratore di Magento il percorso dei cookies (Sistema>Configurazione>Web>Sessione gestione Cookie) così che siano resi disponibili in un percorso comune a, in questo caso, WordPress. Nel nostro caso abbiamo utilizzato la root “/”.
2. Si deve conoscere il percorso del file “Mage.php” contenuto nella cartella “app” di Magento.
3. Bisogna conoscere l’identificativo dello store Magento del quale si vogliono recuperare i dati. Per conoscere l’id, da pannello di controllo andare in “Sistema>Gestione negozi”, posizionare il cursore del mouse sulla riga relativa allo store interessato (ultima colonna a destra “Nome vista negozio”) e leggere dall’URL il valore numerico (es.: …system_store/editStore/store_id/1/key/…).
4. La nostra configurazione prevedeva WordPress installato nella root del dominio, mentre Magento risiedeva nella sottodirectory “shop”.

Il codice riportato di seguito è stato inserito nel file “header.php” del tema attivo in WordPress, ma può essere inserito laddove vi sia necessità:

// richiediamo il file core Magento dal percorso di installazione dell’ecommerce
require_once(“shop/app/Mage.php”);

// comando per l’assegnazione dei permessi
umask(0);

// metodo Magento per impostare lo store di default, nel nostro caso lo store con id “1”.
Mage::app()->setCurrentStore(1);

// metodo che ci permette di recuperare un “oggetto” dall’ambiente Magento, in questo caso le sessioni del fronted
Mage::getSingleton(‘core/session’, array(‘name’=>’frontend’));

// con questa riga assegnamo ad una variabile il numero di articoli attualmente presenti nel carrello di Magento
$numArticoli=Mage::getSingleton(‘checkout/cart’)->getItemsCount();

Con poche righe è possibile, quindi, recuperare informazioni dalla piattaforma Magento e visualizzarle, modificando opportunamente il codice, direttamente in WordPress.

CodeIgniter: framework PHP tuttofare

CodeIgniter è un framework di sviluppo open source per applicazioni e siti web dinamici scritti utilizzando il linguaggio PHP (5.1.6 e versioni successive).

E’ basato sull’architettura MVC (Model-View-Controller), che permette una netta separazione tra la logica e la visualizzazione dei dati.

Sono supportati vari DBMS quali MySQL, MySQLi (questi sicuramente i più utilizzati), MS SQL, Postgres, Oracle, SQLite e ODBC.

I punti di forza di questo strumento sono sicuramente le ottime prestazioni che offre, step di configurazione minimi, ottima documentazione sia ufficiale che della community.

Se aggiungiamo le ridotte dimensioni (poco più di 2Mb per la versione 2.1.4), il supporto per lo scaffolding, la possibilità di utilizzare database multipli, il caching, classi per l’utilizzo nativo di FTP, email, validazione, compressione e altre piccole ma utili caratteristiche, si capisce bene di quale ottimo tool stiamo parlando.

CodeIgniter è sicuramente la soluzione ottimale per coloro che si avvicinano al modello MVC, in quanto la curva di apprendimento è molto piccola.

Probabilmente per la realizzazione di progetti, diciamo, più impegnativi, sarebbe opportuno l’utilizzo di altri framework.

Il primo della lista sarebbe sicuramente Lavarel!

Guardate un po’ questo grafico…

chart_php_framework

Elementi di portfolio