Magento

Magento: utilizzo della newsletter

Vediamo insieme l'utilizzo delle Newsletter direttamente da Magento

Creazione del Template

Il primo passo da seguire è quello della realizzazione del template dell’email che intendiamo inviare. Dal menù “Newsletter” selezioniamo la voce “Template Newsletter“. Nella schermata che appare,  clicchiamo sul pulsante “Aggiungi Nuovo Template” (in alto a destra). Vediamo nel dettaglio quali sono i dati che ci vengono richiesti per la creazione del nostro template:

  • Nome Template: il nome identificativo del template. Tale valore non verrà visualizzato dall’utente che riceverà la newsletter, ma servirà soltanto per distinguere il template da altri che realizzeremo.
  • Argomento Template: l’oggetto dell’email che verrà inviata.
  • Mittente: il mittente dell’email.
  • Mittente email: l’indirizzo email dal quale verrà spedita la newsletter.
  • Contenuto Template: il contenuto della nostra email. In Magento 1.4 e successive versioni, potranno utilizzare direttamente l’editor WYSIWYG per la compilazione di questo campo. Per tutti gli altri si presenterà come una normale textarea all’interno della quale è possibile utilizzare tag HTML per la realizzazione del layout e per la formattazione del testo. Fare attenzione a non rimuovere il testo che troviamo già precompilato all’interno di questo campo: ci servirà per riportare il link che permetterà ai nostri clienti di rimuovere la loro sottoscrizione alla newsletter.
  • Template Style: specifiche delle classi css eventualmente utilizzate per la realizzazione del contenuto.

Completata la realizzazione del template, clicchiamo sul pulsante “Salva Template“.

Scheduliamo l’invio

E’ giunto il momento di programmare l’invio della nostra newsletter. Per fare questo, dall’elenco “Template Newsletter“, selezioniamo il template che abbiamo appena creato e nell’ultima colonna, dal menù a tendina, selezioniamo la voce “Queue Newsletter” (“Coda Newsletter“), come mostrato in figura:

Magento newsletter

Il form che ci viene mostrato sarà precompilato con i dati del template selezionato. Dovremo soltanto decidere a che ora far partire l’invio e sarà premura di Magento di gestire in automatico il tutto.

Controlliamo la spedizione

Configurato il cronjob, Magento si occuperà in automatico di gestire l’invio. Potremo controllare lo stato della spedizione consultanto dal menù “Newsletter” la voce “Newsletter in Coda“. Magento invierà un numero prestabilito di email alla volta (per evitare problemi di blocchi per spam impostati giustamente sui server), quindi con il passare del tempo vedremo il valore inserito nella colonna “Processati” aumentare fino a raggiungere il valore “Destinatari“. Dal menù “Newsletter“, selezionando la voce “Report Problemi Newsletter“, potremo tenere controllati anche eventuali errori, con l’indicazione dell’indirizzo mail la cui spedizione risulta fallita.

Traduzione dei contenuti in uno store multilingua di Magento

Nel post Configurazione di uno Store multilingua con Magento abbiamo visto come configurare Magento in modo da creare uno store multilingua utilizzando una vista negozio per ciascuna lingua.

In questo post, considerando di aver già fatto quella configurazione vedremo come è semplice andare a tradurre i contenuti del sito.

Traduzione delle categorie

Cominciamo con il tradurre le categorie. Accedere alla gestione delle categorie tramite la voce di menù Catalogo -> Gestisci categorie, come mostrato nella figura sotto:

Magento multilanguage Store

 

Qui selezionare la vista negozio English, nel selettore delle viste negozio in alto a sinistra, come mostrato nella figura seguente:

Magento store multilingua

A questo punto selezionare una delle categorie che si vuole tradurre cliccandoci sopra, e rimuovere il check Usa valore predefinito di fianco ai campi che si vuole tradurre, quindi tradurre i campi stessi. La figura sotto mostra la figura completata per i campi Nome e URL Key.

Magento store multilingua

Dopo aver cliccato sul pulsante Salva categoria, si può passare a tradurre la categoria successiva.

Traduzione dei prodotti

Continuiamo con il tradurre i prodotti. Accedere alla gestione dei prodotti tramite la voce di menù Catalogo -> Gestisci prodotti, come mostrato nella figura sotto:

Magento store multilingua

Selezionare un prodotto cliccando sulla riga del prodotto stesso per entrare nella scheda di dettaglio. Una volta qui selezionare dal selettore delle viste negozio in alto a sinistra la vista English, come mostrato nella figura sotto.

Magento store multilingua

A questo punto, come fatto per le categorie, sarà sufficiente deselezionare il flag Usa valore predefinito per i campi che si desiderano tradurre e modificare il contenuto dei campi con la rispettiva traduzione. Fatto ciò, cliccando sul pulsante Salva in alto a destra, le traduzioni per questa vista negozio saranno salvate.

Traduzioni delle pagine CMS

Per quanto riguarda le traduzioni della pagine CMS, ossia delle pagine descrittive del sito è consigliabile fare una versioen della pagina per ciasuna lingua. Se ad esempio abbiamo una pagina che si chiama Chi siamo, associata alla vista predefinita (ossia quella legata all'italiano) dovremmo creare una nuova pagina CMS, collegata alla vista English, che si chiamerà About us, il cui contenuto sarà interamente in Inglese.

Magento store multilingua

Per specificare a quale vitsa appartiene una pagina CMS, nella scheda della pagina è presente il campo Vista negozio, ove è possibile selezionare in quale viste quella pagina deve essere mostrata. Per un esempio si veda la figura sotto.

Magento store multilingua

 

Configurazione di uno Store multilingua con Magento

Una volta installato Magento, per impostazione predefinita sia il frontend che il backend sono in inglese. Ovviamene è possibile installare i vari pacchetti di localizzazione per le varie lingue in Magento stesso per abilitare le varie traduzioni disponibili.

Questo non significa che la semplice installazione di uno o più pacchetti di localizzazione ci permette di avere uno store multilinuga: il singolo pacchetto di localizzazione fornisce solo le traduzioni delle stringhe standard della piattaforma, quindi restano almeno da tradurre le pagine statiche (le pagine CMS), le informazioni delle categorie e dei prodotti.

ll processo di creazione di un sito multilingue comprende qualche passaggio in più.

Anzitutto è necessario creare una vista per ciascuno delle lingue che si desidera mettere a dispozione del navigatore.

Per creare una nuova vista accedere alla gestione dei negozi tramite il menù Sistema -> Gestione negozi, come mostrato nella figura sotto

Magento Multilanguage Store

Cliccare sul pulsante Crea vista negozio, come evidenziato nella finestra sotto:

Magento Multilanguage Store

ed impostare il modulo come mostrato nella figura sotto:

Magento Multilanguage Store

Poichè il selettore del linguaggio proposto in frontend riporterà i nomi delle viste, per non confondere il navigatore, sarà opportuno rinominare la vista di default già presente, ossia con la corrispondete lingua, come mostrato nella figura sotto:

Magento Multilangiage Store

Fatto ciò sarà sufficiente selezionare la lingia inglese nelle impostazioni di localizzazione dela nuova vista negozio creata.

Per fare ciò accedere alla sezioen di confiurazione di Magento tramite il menù Sistema -> Configurazione e selezionare nel selettore di configurazione la nuova vista negozio English, come mostrato nella figura sotto:

Magento Multilanguage Store

 

A questo punto nella sezione Generale -> Opzioni locale selezionare il valore inglese (Stati Uniti) nel campo Locale, come mostrato nella figura sotto:

Magento Multilanguage Store

 

e cliccare sul pulsante Salva Config che si trova in alto a destra della schermata.

A questo punto la configurazione dello store multilingua è ultimata. Non ci resta che tradurre i contenuti, che rimandiamo all'articolo Traduzione dei contenuti in uno store multilingua di Magento

Impostare i permessi sulle cartelle di magento

Supponiamo di avere la seguente configurazione:

  • OS: Linux
  • Web Server: Apache (eseguito con utente apache)
  • PHP: mod_php in Apache

N.B. Si assume che l'installazione delle estensioni e degli aggiornamenti venga fatto manualmente e non tramite Magento Connect

Impostazioni dei permessi sulla cartella var

chown -R apache:apache var
chmod -R 775 var

Impostazione permessi sulla cartella media

chown -R apache:apache media
chmod -R 775 media

 

Recuperare la Root delle Categorie di Magento

Esguire sul database le sequenti istruzioni:

 

insert  into `catalog_category_entity`(`entity_id`,`entity_type_id`,`attribute_set_id`,`parent_id`,`created_at`,`updated_at`,`path`,`position`,`level`,`children_count`) values (1,3,0,0,'0000-00-00 00:00:00','2009-02-20 00:25:34','1',1,0,1),(2,3,3,0,'2009-02-20 00:25:34','2009-02-20 00:25:34','1/2',1,1,0);
    insert  into `catalog_category_entity_int`(`value_id`,`entity_type_id`,`attribute_id`,`store_id`,`entity_id`,`value`) values (1,3,32,0,2,1),(2,3,32,1,2,1);
    insert  into `catalog_category_entity_varchar`(`value_id`,`entity_type_id`,`attribute_id`,`store_id`,`entity_id`,`value`) values (1,3,31,0,1,'Root Catalog'),(2,3,33,0,1,'root-catalog'),(3,3,31,0,2,'Default Category'),(4,3,39,0,2,'PRODUCTS'),(5,3,33,0,2,'default-category');

Magento - Un aiutino per la creazione di un nuovo modulo

Molto interessante l'estensione ModuleCreator che permette di creare la struttura di un nuovo modulo direttamente all'interno di magento.

Questa estensione può essere scaricata da http://www.magentocommerce.com/wiki/custom_module_with_custom_database_table#installing_the_module_creator o installata tramite Magento Connect da http://www.magentocommerce.com/extension/1108/modulecreator

Attenzione: la versione per Magento Connect è più recente di quella scaricabile

Magento - Varianti prodotto

Magento gestisce le possibili varianti di un prodotto attrrraverso i prodotti Configurabili.

Un ottimo tutorial (in inglese) sulla gestione dei prodotti configurabili può essere trovato in Tutorial: Creating a Configurable Product

Riassumo qui per sommi capi cosa deve essere fatto.

  1. Andare in Catalogo -> Attributi -> Gestione Attributi.
  2. Cliccare qui sul pulsante Aggiungi Nuovo Attributo per inserire il nuovo attributo che identificherà la variante (ad es. Dimensione). L'attributo deve avere
    • Ambito = Globale
    • Tipo di Input per il Catalogo per il Proprietario del Negozio: DropDown
    • Usa per Creare Prodotto Configurabile = Si (Attenzione: questo campo, almeno nella versione 1.4 di Magento non è visibile nella scheda di inserimento di un nuovo attributo, quindi sarà necessario salvare prima l'inserimento dell'attributo, poi riaprilo in modifica ed impostare questo campo a Si)
    • I possibili valori ammessi per questo attributo all'interno della sezione Gestione Etichette / Opzioni della scheda dell'attributo
  3. Creare un Gruppo di Attributi tramite la voce di menù Catalogo -> Attributi -> Gestione Gruppi Attributi e cliccando sul pulsante Aggiungi Nuovo Gruppo. Questo nuovo gruppo di attributi dovrà contenere l'attributo creato al passo precedente.

Una volta fatto ciò sarà possibile creare prodotti configurabili tramite il classico pulsante Aggiungi Prodoto nella pagina di gestione dei prodotti, accessbile tramite la voce di menù Catalogo -> Gestione Prodotti e selezionando come tipo di prodotto Prodotto Configurabile.

 

Magento - Versione migliorata del modulo Attribute Manager

Il moduo Attribute Magaer di Magento è un modulo molto interessante.

Questo permette l'aggiuna di uno o più attributi allevarie entità presenti nel sitema magento (catetorie, clienti, ordini, ecc.).

La versione corrente, ossia la 0.9.1, non funziona con Magento 1.4.* e permette l'aggiunta degli attributi solo ad un numero limitato di entità.

Dovendolo utilizzare estensivamanete in un nuovo progetto abbiamo cercato di farlo funzionare con Magento 1.4 e di estenderlo per poter permettere l'inserimento di attributi per un numero maggiore di entità.

Il risultato è l modulo che vedete allegato a questo post, di cui riassumiamo le modifche effettuate:

  • Funzionante con Magento 1.4
  • Gestisce le seguenti entità:
    • Categories attributes
    • Customers attributes
    • Customer's address attributes
    • Order's attributes
    • Order address's attributes
    • Order item's attributes
    • Order payment's attributes
    • Order status history's attributes
    • Invoice's attributes
    • Invoice item's attributes
    • Invocie comment's attributes

Per installare il modulo sarà sufficiente scompattare l'archivio zip all'interno della cartella radice di Magento.

Magento - Duplicare una installazione esistente

Prima di procedere assicurarsi che le seguenti operazioni siano state effettuate:

  • Nella installazione che si vuole duplicare di Magento, disabilitare la cache attraverso il pannello di amministrazione nel menù Sistema -> Gestione Cache
  • Nella installazione che si vuole duplicare di Magento, disabilitare Compilation  attraverso il pannello di amministrazione nel menù Sistema -> Strumenti -> Compilation

1. Eseguire il backup del vecchio database utlizzando il seguente comando

mysqldump -R -uutente_magento -ppassword_utente_magento database_magento > database_magento.sql

dove:

  • utente_magento è l'utente che accede al database magento
  • password_utente_magento è la password delll'utente al punto sopra
  • database_magento è il database che magento sta utilizzando

2. Aprire il file database_magento.sql e sostituire le occorrenze del vecchio dominio con le il nuovo dominio. Ad esempio se l'installazione corrente si trovava in http://www.magento.com/shop/ e la nuova si troverà in http://www.server.lan:8080/magento/ sostituire la prima stringa con la seconda (Attenzione: non utilizzare localhost ed aggiungere sempre lo / finale)

3. Creare il nuovo database (selezionare UTF8 come charset)

4. Caricare il dump fatto prima nel nuovo database utlizzando il seguente comando
mysql -unuovo_utente_magento -pnuova_password_utente_magento nuovo_database_magento < database_magento.sql
dove:

  • nuovo_utente_magento è l'utente che accede al nuovo database magento
  • nuova_password_utente_magento è la password delll'utente al punto sopra
  • nuovo_database_magento è il nuovo database per magento

 

5. Eliminare il contenuto delle seguwnti cartelle

  • var/cache
  • var/session
  • var/import
  • var/export
  • var/tmp
  • var/log
  • media/import
  • downloader/download

6. Eliminare la cartella includes/src (file di Compilation)

7. Eliminare i seguenti file dalla cartella downloader/peralib

  • pear.ini
  • pear
  • peardev

8. Se i parametri di connessione al database sono cambiati, modificare opportunamente il file app/etc/local.xml

 

 Eliminazione dei prodotti

  • delete from catalog_product_entity;

Eliminazione delle categorie

  • delete from catalog_category_entity where entity_id > 2;

Eliminazione dei clienti

  • delete from customer_entity;

Eliminazione degli ordini e delle fatture

  • delete from sales_order;
  • delete from sales_order_entity;
  • delete from sales_flat_order_item;
  • delete from sales_flat_quote ;