Categorie
Blog

Icecat: integrazione su Magento

Icecat è il famoso catalogo di prodotti di elettronica disponibile gratuitamente online.

I maggiori produttori di componenti elettronici ed informatici (come HP, Samsung, Intel, Symantech ecc..) inviano in modo continuo il catalogo dei propri prodotti a questo raccoglitore globale che li raggruppa in modo standard e li mette a disposizione di tutti coloro che ne hanno bisogno. Le caratteristiche/dettagli prodotto che questo catalogo globale mette a disposizione sono:

  • Nome del prodotto
  • Nome del produttore
  • Codice del produttore
  • Categoria prodotto
  • Immagini del prodotto
  • Descrizioni in lingue diverse
  • Specifiche tecniche standard
  • Manuali
  • Opzioni (prodotti correlati)
  • Peso
  • Codice EAN

Come possiamo utilizzare Icecat? Ecco un esempio: tutti coloro che vogliono inserire nei propri siti e-commerce la lista di tutte le stampanti disponibili nel mercato possono interrogare Icecat ed ottenere in formato elettronico il catalogo completo di tutti i modelli.

Icecat mette a disposizione delle api per interrogare il suo database prodotti o delle url per reperire informazioni prodotto; inoltre per chi non volesse scaricare l’elenco completo dei prodotti sul proprio sito o e-commerce Icecat mette a disposizione metodi per ottenere nomi, immagini e descrizioni prodotto da caricare direttamente dal loro catalogo online.

Questo è proprio quello che abbiamo fatto: integrare il catalogo Icecat con la piattaforma Magento!

Per l’integrazione di Icecat su Magento abbiamo utilizzato il modulo Icecat Live presente sul Magento Connect; il modulo ha qualche bug che abbiamo però risolto ed il risultato è stato una perfetta integrazione tra il catalogo Icecat e l”ecommerce Magento.

Di quali informazioni abbiamo avuto bisogno?

Sul catalogo prodotti Magento è necessario inserire solamente il codice che identifica il prodotto su Icecat; per farlo è stato necessario inserire su Magento, al posto dello sku del prodotto, il codice identificativo di quel prodotto presso il produttore; faccio un esempio: prendiamo la stampante laser HP LaserJet Pro P1102. Il suo codice identificativo presso il suo produttore HP e presso Icecat è CE651A. Inserendo nello sku prodotto questo codice e mappando lo sku di Magento su questo codice il gioco è fatto.

Ma cosa è questo codice?
Il codice con il quale Icecat mappa i suoi prodotti è chiamato MPN, ovvero il  Manufacturer Part Number.

Nella configurazione del modulo è bastato associare l’MPN al nostro sku ed il modulo, e con qualche piccolo ritocco ha iniziato a funzionare!

Questo è il prodotto su HP con MPN CE651A su Icecat: HP LaserJet Pro P1102

Vediamo adesso come si presenta il prodotto sul nostro Magento di prova installato appositamente per testare e fare funzionare l’integrazione con Icecat.

Ecco il primo risultato, ovvero il prodotto nella lista prodotti della categoria (come potete vedere il prodotto prende da Icecat il nome e l’immagine):

Ed infine la scheda prodotto con le immagini e i particolari tecnici/descrittivi caricati tutti direttamente da Icecat.

 

 

 

 

 

 

 

 

 

 

 

Per tutti coloro che vogliono un catalogo pieno di prodotti, o per tutti coloro che vogliono aggiungere ai propri prodotti descrizioni complete ed esaustive consiglio vivamente di integrare la piattaforma Magento con il famoso catalogo prodotti di elettronica Icecat.

Categorie
Blog

Magento e Amazon Cloudfront CDN

Un Content Delivery Network, o CDN, è un sistema distribuito di server che offrono il servizio di “inviare files/contenuti” in modo efficacie ed efficiente, quindi ad elevate prestazioni.

A cosa può servire un cdn?

Un cdn serve per velocizzare le performance della vostra piattaforma, sito o e-commerce sostituendosi al vostro server nell’invio dei file che voi gli date. In pratica invece di chiamare il vostro dominio per lo scaricamento di un immagine, ex: http://www.vostrodominio.com/immagine.jpg il vostro sito chiamerà il cdn, che non è altro che una copia dei vostri file, all’url http://www.cdn.com/immagine.jpg.

Il cdn, risponderà con tempi molto minori, con una capacità di banda molto maggiore e farà in modo che il caricamento della vostra pagina sia molto più veloce.

Questo è tutto.

In questo articolo vedremo con fare lavorare Magento con uno dei più famosi cdn, ovvero il servizio di Amazon CloudFront.

Questo servizio è un servizio ad iscrizione gratuita, ma con pagamento a seconda della quantità di dati che vengono richiesti; ecco la tabella dei prezzi.

PASSO 1

Si inizia registrandosi ad Amazon Web Services, si entra poi in Cloudfront e si accede alla console (alla registrazione viene chiesta la carta  di credito, senza la quale non è possibile registrarsi).

Una volta entrati nella console di Cloudfront si inizia a creare una distribuzione, ovvero una copia dei vostri file su Cloudfront:

PASSO 2

Dopo avere creato la distribuzione, è necessario configurarla, in modo che questa riesca in maniera del tutto automatica a scaricare dal vostro sito i file che dovrà fare scaricare ai vostri visitatori. E’ il momento di scegliere il “delivery method”:

PASSO 3

E’ il momento di configurare il nostro CDN, impostando il nome del nostro dominio ed i vari paramentri necessari; in realtà è necessario inserire solo il nome di dominio se non si è molto pratici della cosa e al resto pensa tutto Cloudfront (se insicuri lascaire i parametri di default):

PASSO 4

Dopo avere creato la “distribuzione”, ovvero la copia il servizio si prenderà una decina di minuti per configurarsi; la creazione della distribuzione genererà un nuovo nome di dominio del tipo:
d34y234asa3dfa234b6qr1j5d.cloudfront.net

una volta pronto potrete attivare il cdn all’interno del magento.

Basterà andare in

System -> Configuration -> General -> Web -> Tab Unsecure

ed impostare la url del cdn nei campi Media Url, Skin Url e Js Url come nella seguente immagine:

Salvate ed il gioco sarà fatto.

Se poi andate ad analizzare il sorgente del vostro codice, oppure come ho fatto io, se utilizzate Firebug per vedere i tempi di caricamento del vostro e-commerce noterete che le richieste saranno servite dalla vostra nuova e performante cdn.

IL TEST DELLE PERFORMANCE

Per ultimo, sono andato a misurare le performance del magento giocattolo installato sul mio server. Ecco alcuni dati riguardanti l’ambiente:

Server vps con 512MB di ram

Magento con cache abilitata e compilazione disabilitata

Server non ottimizzato per magento (nessuna ottimizzazione a livello di php, apache e mysql)

Ho fatto il test su questo magento appunto per capire in che modo un cdn possa pesare su un magento fresco di installazione e non ottimizzato (Attenzione: le prestazioni dipendono molto anche dal server e dalla banda quindi questi dati sono reali e significativi per questo mio ambiente di prova; la situazione può cambiare da server a server).

Aprendo la schermata generata dal caricamento della pagina visto attraverso firebug, ed incollando assieme la parte dei tempi di caricamento del test effettuato con CDN e quello effettuato senza CDN, ecco il risultato:

I RISULTATI

Come potete vedere già dall’immagine sopra, i tempi di caricamento sono un 20, 30% più veloci. Ecco però i risultati del tempo di caricamento dell’home page del mio sito di prova (il risultato in secondi è stato fatto eseguendo il caricamento della pagina con firefox 5 volte premento Ctrl + F5 per bypassare la cache del browser):

Alcuni dettagli:

E’ possibile impostare un nome di dominio per la distribuzione del CDN: basterà specificarlo nel campo CNAME delle opzioni di amazon Cloudfront e puntare il dns del proprio host per poter accedere al cdn con il nome http://cdn.propriodominio.com invece che d34y234asa3dfa234b6qr1j5d.cloudfront.net

Problema con javascript: non ho fatto test, ma attenzione al caricamento di file javascript da dominio esterni; ci sono restrizioni a causa del caricamento di codice “cattivo” da domini esterni; fate dei test!!!

Aggiornamento dei file nel CDN: i file all’interno del CDN hanno una scadenza, dopo la quale, questi verrano scaricati nuovamente; quindi se aggiornate nel vostro sistema una immagine, questa sarà replicata all’interno del CDN alla sua scadenza; è inoltre possibile fare scadere degli oggetti del cdn; per una guida completa è possibile consultare la guida di Amazon Cloudfront: http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html

Categorie
Blog

Modificare il numero di fattura e la generazione dei numeri di fattura

Come in tutte le attività imprenditoriali, prima o poi, chi realizza un e-commerce deve scontrarsi nella fatturazione, ovvero la generazione dei documenti fiscali che provano le vendite/acquisti.

Capita che ogni cliente abbia una propria storia e delle personali esigenze, e di conseguenza capita che ogni cliente mi chieda delle personalizzazioni nella creazione di fatture ed in particolare nel numero di queste (ecco un po’ di esempi):

  • C’è chi vuole che il numero di fattura parta da un determinato numero
  • C’è colui che vuole partire da zero
  • C’è il cliente che vuole poter saltare alcuni numeri
  • C’è chi vuole inserire il numero della prossima fattura da poter generare

Come è possibile che si debba rispondere a tutte queste esigenze ben diverse?

La soluzione è conoscere come vengono generati i numeri di fattura a partire dal database di magento.

I numeri di fattura vengono salvati nella tabella `eav_entity_store`, precisamente nel campo `increment_last_id` che appunto indica l’ultimo numero utilizzato per la fattura, ordine, nota di credito e spedzione.
Per capire quale riga andare a modificare basterà controllare l’id della colonna entity_type_id ,che nel mio caso è 6 ed indica la fattura (invoice).
Modificando il campo increment_last_id andremo a modificare il prossimo numero di fattura che verrà generato.
Di default Magento crea un numero di fattura per ogni store, del tipo: tutte le fattura dello store con id 1 hanno come prefisso il numreo 1, quelle dello store due utilizza 2 come prefisso. E’ cosa buona solitamente andare ad unificare queste numerazioni diverse. Per farlo dovremo andare a modificare la tabella `eav_entity_type` , ed esattamente il campo increment_per_store impostandolo a 0 da 1 che è si default.
Lo zero indica che la numerazione delle fattura è unica per tutti gli store!

Per qualunque domanda o chiarimento contattatemi!

Categorie
Blog

Programmazione magento – Sovrascrivere un controller dell’amministrazione

In che modo si può sovrascrivere un controller dell’amministrazione?
Capita a volte di dovere sovrascrivere alcuni controllers dell’amministrazione, ad esempio, come è capitato oggi a me per dovere creare le fatture con un numero a scelta da parte dell’amministratore.
Per sovrascrivere sono necesari 3 passi:

  1. Creare un modulo
  2. Configurare il modulo nel suo config.xml in modo da dirgli di sovrascrivere un determinato controller
  3. Creare un controller che estende un altro controller, ovvero quello che si vuole riscrivere

Il punto 1 ed il punto 2 si risolvono creando un file di configurazione come il seguente:

[sourcecode language=”xml”]
<?xml version="1.0" encoding="utf-8"?>
<config>
<modules>
<Iacopop_Adminhtml>
<version>0.2.0</version>
</Iacopop_Adminhtml>
</modules>
<admin>
<routers>
<adminhtml>
<args>
<modules>
<Iacopop_Adminhtml before="Mage_Adminhtml">Iacopop_Adminhtml</Iacopop_Adminhtml>
</modules>
</args>
</adminhtml>
</routers>
</admin>
</config>
[/sourcecode]

Come si può notare nel file sto indicando che nella sezione routers dell’amministrazione magento (adminhtml) venga caricato prima il modulo Iacopop_Adminhtml (prima di Mage_Adminhtml).
Avendo indicato a Magento di caricare prima il mio modulo non dovrò fare altro che creare un controller che estende il controller che mi interessa. Nel mio caso volevo sovrascrivere il controller che genera la fattura per andare a modificare il numero di fattura prima della sua creazione. Andiamo a vedere come creare il nuovo controller:
[sourcecode language=”php”]
<?php

include_once("Mage/Adminhtml/controllers/Sales/Order/InvoiceController.php");

class Iacopop_Adminhtml_Sales_Order_InvoiceController extends Mage_Adminhtml_Sales_Order_InvoiceController {
/**
* Save invoice
* We can save only new invoice. Existing invoices are not editable
*/
public function saveAction()
{
//questo è il codice originale di magento della action save del controller Mage_Adminhtml_Sales_Order_InvoiceController
//possiamo inserire qua tutto il codice che ci permettere di sovrascrivere il metodo originale
codice ……..

}
}

?>
[/sourcecode]
Includendo il controller originale e estendendolo è possibile sovrascrivere tutti le funzioni e metodi di questo facendo in modo che tutte le azioni passino per il nuovo controller.

Categorie
Blog

Programmazione magento – Creare url rewrite

Ciao a tutti,
in questo post, il primo della serie intitolata “Programmazione Magento“, vi mostrerò come creare in maniera semplice i rewrite per tutte le pagine che volete, sia che queste siano dinamiche, ad esempio quelle generate da moduli personalizzati, oppure statiche, come quelle create da cms.

Cosa è un URL REWRITE?

Una url rewrite è una tecnica per la quale una url viene sostituita da un altra che riteniamo migliore per varie motivazioni, che possono essere leggibilità e ottimizzazione per i motori di ricerca.

Facciamo un esempio:
Abbiamo una ulr del tipo:
[sourcecode]
www.sito.com/page.php?id=237&regione=toscana&provincia=firenze
[/sourcecode]

Questa url è alquanto complessa, e si differenzia dalla altre per il tipo e valore dei parametri passati in GET. Per le motivazioni che abbiamo accennato prima vogliamo trasformare questa url nella seguente:
[sourcecode]
www.sito.com/toscana/firenze/pagina.html
[/sourcecode]

Per fare questo è necessario utilizzare le Url Rewrite di apache.
Non starò qua a spiegare come funzionano le url rewrite di apache, ma vi dico solamente che Magento è in grado di produrre e generare Url Rewrite per apache attraverso il suo “motore” di rewrite che è in grado di rispodere alle esigenze di creare url ben formattate ad esempio nei nostri moduli personalizzati.

Ma andiamo a vedere come è possibile creare url rewrite da codice di magento.
[sourcecode language=”php”]
Mage::getModel(‘core/url_rewrite’)
//si imposta il tipo di rewrite a personalizzato
->setIsSystem(false)
//si imposta lo store view per il quale la url rewrite verrà creata
->setStoreId(2)
//si imposta il path che si vuole riscrivere, è il path originale non riscritto
->setIdPath($originalurl)
//si imposta il path che si vuole riscrivere, è il path originale non riscritto
->setTargetPath($originalurl)
//si imposta la nuova url (quella riscritta)
->setRequestPath($new_url)
->save();
[/sourcecode]

Così è possibile creare un rewrite. Accedendo alla $new_url veniamo rediretti (in automatico ed in modo nascoto) alla vecchia url, ma il browser manterrà quella nuova nella barra degli indirizzi.

Se poi vi capita di dover ricercare delle url in base al path reale oppure a quello riscritto potete utilizzare le seguenti funzioni:
[sourcecode language=”php”]
Mage::getModel(‘core/url_rewrite’)->setStoreId(2)->loadByIdPath($originalurl)
Mage::getModel(‘core/url_rewrite’)->setStoreId(1)->loadByRequestPath($new_url)
[/sourcecode]

Per qualunque richiesta non esitate a contattarmi!

Categorie
Blog

Traduzioni in magento – Parte 2 – Pacchetti di lingua

Ciao a tutti,

dopo avere imparato a tradurre magento attraverso le traduzioni inline, impareremo a tradurre il nostro ecommerce in tutte le lingue del mondo semplicemente aggiungendo al nostro ecommerce i file di lingua scaricabili su sito magentocommerce.com.

Quindi per prima cosa andate sul sito e scaricate la lingua che vi interessa dal seguente indirizzo http://www.magentocommerce.com/translations

Dopo avere cliccato sulla lingua scelta scaricate lo zip della lingua cliccando su download nella colonna package.

Scompattate lo zip e potrete vedere che al suo interno c’è una struttura a cartelle che parte da app. A questo punto copiate il contenuto dello zip sulla directory principale del vostro magento fino ad ottenere una struttura di lingua come nella immagine:

All’interno dello zip ci sono anche altri file di traduzione, che servono a tradurre il template, ma i files principali sono quelli all’interno della directory app/code/locale.

Tutti i files all’interno della cartella della lingua sono nel formato Mage_Modulo.csv e servono a tradurre i corrispettivi moduli.

Qua andranno tutte le traduzioni.

Quello che vi manda di fare adesso sono i seguenti passi:

 

 

 

  1. Andare nell’amministrazione del magento in System -> Configuration -> General
  2. Selezionare lo store view al quale volete associare la lingua
  3. Selezionare la lingue in Locale Options

Dopo avere salvato, appena entrerete nello store view prescelto tutte le parole all’interno del magento verranno tradotte con i file che avete appena uplodato.
 

Categorie
Blog

Traduzioni in magento – Parte 1 – Inline

Questo articolo vi mostrerà come tradurre Magento in tutte le lingue che volete semplicemente navigando nel sito e traducendo direttamente sul frontend tutte le parole non tradotte.
Questo metodo di traduzione prende il nome di Traduzione Inline.
Per abilitare le traduzioni inline è necessario seguire i seguenti passi:

  1. Andate su Sistem -> Configuration -> Developer
  2. Selezionate “Default store view” nel riquadro Current Configuration Scope
  3. Selezionate “Yes”  nel riquadro centrale translate inline – > Enabled for Frontend

Dopo averla abilitata andate sul frontend, scegliendo la lingue che vi interesa tradurre. Come potrete notare vedrete che passando il mouse sopra ad ogni stringa apparirà accanto l’icona di un libro; cliccando su questo libro si aprirà una finestra che vi permetterà di tradurre la stringa direttamente dal frontend.

Come potete vedere nell’immagine della traduzione inline:

Cliccando su submit la traduzione verrà inserita nella tabella:

[sourcecode language=”sql”]

core_translate

[/sourcecode]

Questa tabella conterrà tutte le parole tradotte inline. Come potete vedere dall’immagine precedente, c’è un checkbox che potete abilitare prima del submit; questo checkbox fa si che la traduzione valga per uno specifico store view. Il mio consiglio personale è di lasciare il checkbox a false, in modo che la traduzione valga per tutte le viste con una certa lingue. Nella immagine successiva potrete vedere uno screenshot fatto su phpmyadmin della tabella core_translate che dovrete salvare ed esportare per poterare da un magento all’altro le traduzioni.

Categorie
Blog

Le funzionalità di Magento

In questo articolo andrò a fare una lista delle funzionalità di Magento divise per categorie o sezioni. Cercherò di integrare questa lista in futuro con i suggerimenti e/o le correzioni che mi arriveranno.

Amministrazione/Gestione dell’ecommerce

  • Multistore – possibilità di creare più ecommerce all’interno dello stesso sito, gestiti da uno o più amministratori. Questo è il caso in cui si vuole realizzare un e-commerce che è un aggregato di negozi, ovvero più negozi che rivendono all’interno dello stesso sito web. La distinzione tra i negozi può essere fatta per categorie prodotti oppure direttamente nella homepage con sezioni distinte (homepage dell’ecommerce che rimanda a tutti i negozi)
  • Pannello di amministrazione per la gestione dei prodotti (inventario), dei clienti (customer care con newsletter), degli ordini e delle vendite (reportistica inclusa)
  • Multilingue (disponibili moltissime lingue. La distinzione può essere fatta dall’utente oppure tramite la geolocalizzazione dell’ip del visitatore)
  • Supporto per le traduzioni (Magento da la possibilità di tradurre il sito in una qualsiasi lingua)
  • Multivaluta – possibilità di avere più valute presenti sul sito (ex: sito in Dollari, Sterline, Euro ecc..)
  • Ruoli utenti – possibilità di creazione ruoli utenti con privilegi limitati
  • Web Services – Possibilità di richiamare le api di magento tramite web services. Questo permette a magento di comunicare con software gestionali o applicazioni di terze parti
  • Classi di Imposte – Possibilità di avere classi di imposte personlizzabili per nazione, per tipologia cliente (azienda, privato)
  • CMS integrato per la creazione di pagine statiche. Viene utilizzato per creare le pagine istituzionali, ad esempio: chi siamo, condizioni di vendita, customer care, contattaci
  • Clientela suddivisa in gruppi – possibilità di distinguere clienti privati da aziende

Processo  di acquisto

  • Carrello può essere salvato
  • Supporto SSL
  • Checkout come utente registrato, come utente nuovo (con registrazione necessaria) o come utente guest (registrazione non necessaria)
  • Possibilità di inserire buoni sconto già nel carrello
  • Possibilità di stimare il costo delle spedizioni già nel carrello

Modalità di Pagamento

  • Bonifico Bancario
  • Contrassegno
  • Paypal (sia con account paypal che solo con carta di credito attraverso sistema paypal)
  • Banca Sella – pagamento con carta di credito attraverso il sistema Gestpay
  • Banca Unicredit – pagamento con carta di credito attraverso il sistema PagOnline
  • Banca Etruria – pagamento con carta di credito attraverso il sistema KeyClient
  • Authorize.net
  • Google Checkout

Modalità di Spedizione

  • Spedizione gratuita – possibilità di avere una spedizione a costo zero sempre o in caso di acquisti con valore superiore ad una certa soglia
  • UPS – integrazione con ups per la generazione del tracking number e della lettera di vettura da allegare al pacco
  • DHL
  • FedEx
  • USPS
  • Possibilità di avere Più spedizioni per ordine
  • Tracking del pacco attraverso l’account utente
  • Prezzo spedizione in base al costo, in base al peso, in base alla destinazione. Si può creare una tabella (nazione/costo) nella quale elencare tutti i costi di spedizine
  • Possibilità di spedire solamente in alcune zone/paesi

Gestione prodotti

  • Gestione prodotti da amministrazione – creazione, cancellazione, modifica
  • Inventario prodotti con gestione delle rimanenze. Magento ti comunica i prodotti che stanno per esaurirsi
  • Prodotti semplici – prodotto con una singola configurazione (ex: t-shirt rossa taglia M, senza possibilità di modificare le opzioni prodotto)
  • Prodotti configurabili – prodotto che permette al cliente di selezionare le opzioni disponibili. Ad esempio t-shirt disponibili in vari colori e taglie (quindi nella
  • scheda prodotto sarà visibile una tendina di scelta multipla per la selezione della taglia e del colore)
  • Prodotti raggruppati – un prodotto composto da più prodotti esistenti. (Può essere utili per vendere abbinamenti prodotti o prodotti che necessitano di altri per funzionare)
  • Prodotti bundle – Prodotti Kit, nei quali i clienti devono scegliere una quantità di opzioni (non strettamente necessarie). Questo può essere il caso della vendita di computer nella quale gli utenti devono selezionare hard disk, ram e tutti gli altri componenti.
  • Prodotti virtuali – prodotti virtuali che non vengono spediti e non vengono scaricati. Solitamente questi prodotti corrispondono ad un servizio offerto
  • Prodotti scaricabili – prodotti scaricabili. Ex: computer software, musica mp3, PC games.

Caratteristiche prodotto

  • Descrizione
  • Immagine con possibilità di ingrandimento
  • Immagini secondarie
  • Prodotti correlati
  • Prodotti Upsell – sono tutti i prodotti che vengono proposti in sostituzione al prodotto che viene osservato. Questi prodotti possono avere migliore qualità, possono fare ricavare maggiore margine.
  • Prodotti CrossSell – sono i prodotti che vengono acquisti nel carrello prima del pagamento. Sono come le caramelle, le gomme da masticare e le riviste prima del pagamento alla cassa
  • Quantità disponibile in magazzino
  • Prezzo
  • Prezzo per quantità
  • Recensioni prodotto
  • Tags per prodotto
  • Funzionalità Invia ad un amico
  • Disponibilità in magazzino

Servizio Clienti

  • Ogni cliente registrato ha una propria pagina chiamata “Account” nella quale può controllare lo storico ordini, le fatture, seguire le proprie spedizioni, aggiungere oggetti alla propria wishlist, inviare richieste al negozio
  • I clienti vengono notificati per ogni cambio stato dell’ordine; facciamo l’esempio di un ordine si trova “In attesa di pagamento”. Al momento in cui l’esercente (il proprietario del negozio ecommerce) nota l’arrivo del pagamento può cambiare stato dell’ordine impostandolo in “Pagato”; assieme a questo cambio di stato può anche notificare per email la cosa all’utente che riceverà una email e vedrà lo stato dell’ordine nel proprio account.

Magento per Iphone e Ipad

Magento ha di default un tema ottimizzato per iphone, che in pratica regola la risoluzione dello schermo e della grafica del sito adattandola alla risoluzione iphone. Per quanto riguarda l’ipad, avento questo una risoluzione maggiore, questo non ha problemi di sorta se si seguono gli standard del design di interfaccie.
Esiste anche la possibilità di acquistare una estension Magento che permette di convertire il proprio ecommerce in una applicazione scaricabile dall’Apple App Store. I passi sono i seguenti:

  • Installare l’estensione
  • Settare il proprio ecommerce tramite la nuova estensione (e testarlo) per renderlo compatibile con l’app
  • Acquistare la licenza Magento Mobile
  • Magento invierà l’applicazione all’App Store e questa diverrà disponibile al download tramite l’iphone/ipad.

Promozioni di marketing e strumenti

  • Newsletter clienti
  • Prodotti visti di recente
  • Prodotti correlati, upsell, crosssell
  • Invia ad un amico
  • Reportistica carrelli in corso, carrelli persi, vendite, prodotti più visti, prodotti più acquistati
  • Utenti online
  • Prodotti attualmente nel carrello

Ottimizzazione per i motori di ricerca

  • Tutte le url vengono riscritte per essere comprensibili e compatibili per l’ottimizzazione sui motori di ricerca
  • Mappa del sito
  • Meta tags per categoria, prodotti  e pagine statiche tramite cms
  • Google sitemap per lingua
  • Possibilità di stabilire le politiche di accesso dei motori di ricerca sull’ecommerce (NOINDEX,NOFOLLOW ecc..)

 

Queste sono solamente alcune delle funzionalità presenti in Magento e questa vuole essere solo una lista; con questo post non intendo spiegare i dettagli o approfondire le funzionalità, solo avere un riferimento per coloro che si approcciano a Magento per la prima volta e vogliono capire cosa permette di fare la piattaforma leggendo solamente un articolo di un blog.

 

Categorie
Blog

Cosa è magento?

Una descrizione generale

Magento è una piattaforma opensource per la creazione di siti ecommerce. E’ stato sviluppato dalla Varien, ed è basato sul framework php Zend. Adotta molte funzionalità di base ed è per questo che è considerato una delle migliori soluzioni per ecommerce attualmente disponibili.

Magento è disponibile in tre versioni:

  • Community – versione gratuita
  • Professional – 2995 $ all’anno
  • Enterprise –  12990 $ all’anno

La differenza tra le tre versioni disponibili è in funzionalità di frontend (maggior funzionalità visibili nel frontend del sito), funzionalità di backend (maggiore controllo da parte degli amministratori), ma soprattuto nel supporto, che nella comminuty è presente solo attraverso un forum (ma le risposte non sono garantite), nella professional è dato dai Magento Partners mentre nella Enterprise è fatto direttamente dalla Varien, cioè la società produttrice.

Funzionalità di Magento

  • Multistore, ovvero possibilità di avere più negozi in un unico ecommerce (sotto una unica amministrazione)
  • Pannello di amministrazione dettagliato, con reportistica, catalogo, clienti, ordini e tutto ciò che riguarda le vendite
  • Multilingua
  • Multivaluta (possibilità di cambiare valuta)
  • Ruoli utenti in amministrazione (è possibile creare ruoli utenti a cui concedere tutti i privilegi o solamente alcuni)
  • Design personalizzabili – vetrine del negozio personalizzabili
  • Design per negozio, ad ogni negozio può essere associata una vetrina, e quindi una grafica diversa
  • CMS integrato – possibilità di creare pagine stati a piacimento
  • Molteplici modalità di spedizione – è possibile configuarare una tabella di spedizioni per paese oppure integrare Magento con UPS, DHL, FedEx ecc..
  • Tracking della spedizione – possibilità di inviare l’utente sul sito dello spedizioniere e seguire lo stato della spedizione
  • Molteplici modalità di pagamento – Bonifico, Contrassegno, Paypal, Carta di credito con Banca Sella (Gestpay) Unicredit (Pagonline), KeyClient (Banca Etruria)
  • Distinzione tra indirizzo di spedizione e fatturazione
  • Checkout veloce (procedura di checkout in una sola pagina)
  • Possibilità di acquistare senza registrarsi (checkout as guest)
  • Possibilità di utilizzo di buoni sconto e/o codici promozionali
  • Gestione imposte IVA per paese

Dettagli Tecnici

Come già detto Magento è una piattaforma in php e database mysql. E’ basato su Zend framework e la struttura, come il modo di sviluppare il codice al suo interno rispecchia il pattern MVC (model-view-controller) come lo Zend framework. Il pregio di questa piattaforma è il grande numero di funzionalità che porta con se e la sua grande modularità che lo rendono facilmente estendibile, pulito (in termini di pulizia e comprensibilità di codice) e scalabile.

I requisiti di sistema di Magento sono i seguenti:

  • Sistema Linux o Windows (anche se si sconsiglia Windows per sistemi di produzione)
  • Web server Apache
  • PHP 5.2.0 o superiori e le seguenti estensioni php
    • PDO/MySQL
    • MySQLi
    • mhash
    • mcrypt
    • DOM
    • simplexml
  • Database MySQL 4.1.20 o superiore
  • Servizio di posta in uscita: un Sendmail-compatible Mail Transfer Agent (MTA) – Magento utilizza un smpt per inviare email per customer care ecc..

Il software lo si può scaricare dal sito ufficiale www.magentocommerce.com.