cancel
Showing results for 
Search instead for 
Did you mean: 

Formattazione email degli ordini

SOLVED

Formattazione email degli ordini

Buongiorno,


Non ho molta esperienza su Magento e mi scuso anticipatamente se mi scapperanno inesattezze varie e terminologia fantasiosa.

 

Lavoro su un sito che non ho fatto io su cui gira la versione 1.9.1 di Magento

Ho un problema con le email commercali (e-mail transazionali) e sulla relativa formattazione.

Tutti i blocchi vengono inseriti nelle relative tabelle tranne il blocco dei prodotti.


Documentandomi in giro e controllando il template ho capito che questo blocco è regolato dalla funzione "sales_email_order_items" la quale è richiamata in sales.xml la quale a sua volta rimanda a vari phtml.

 

Finora ho capito che questo sales.xml deve essere in una cartella layout e i phtml in una cartella sales dentro template (tutto dentro design - > frontend -> cartella del tema che ho installato)
Purtroppo nella cartella layout del tema non c'è il sales.xml e nemmeno i vari phtml.
Ho visto che il sales è sia in frontend -> base -> default - > layout sia in adminhtml -> base -> default -> default -> layout.
In sostanza vorrei capire quali file utilizza e quali no  per capire cosa prende e cosa poter modificare.Il fatto che non formatti la parte dei prodotti mi fa pensare che quella funzione non venga richiamata alla perfezione e magari i link che ha non sono utilizzati in maniera corretta.

ho provato a fare un po' di prove semplici anche solo per capire quale sales.xml utilizza (prove del tipo rinominare il file in maniera diversa) ma nulla.

Avevo provato anche a aggiungere tutto nella cartella del tema ma nulla di nuovo.
Essendo un niubbo di magento impazzisco sempre quando c'è da trovare i file con questa struttura complicata di cartelle.
A disposizione per ulteriori dettagli, ringrazio anticipatamente per le eventuali risposte.Help Me

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Formattazione email degli ordini

Alla fine sono riuscito a risolvere, non ho compreso proprio come e cosa non andava ma era un problema di css.

La soluzione che ho applicato è stato richiamare nel template della mail un css già presente tra i file di Magento.

 

{{inlinecss file="email-inline.css"}}

Quello che penso è che il template mail che usiamo non pescava bene gli stili perché forse qualche classe era cambiata.
Io pensavo erroneamente che non venisse direttamente messo nelle tabelle mentre in realtà a quanto pare mancava lo stile.

View solution in original post

9 REPLIES 9

Re: Formattazione email degli ordini

Ciao,

ti consiglio di studiare come funziona il sistema di layout di Magento e di non improvvisare; puoi partire dalla Design Guide ufficiale: http://info.magento.com/rs/magentocommerce/images/MagentoDesignGuide.pdf

 

Ad ogni modo il caricamento dei file di layout e di template (oltre che degli asset che trovi nella cartella skin) è regolato da un meccanismo detto di "fallback" che cerca le risorse rispettivamente nel seguente ordine:

 

tuo package / tuo tema

tuo package / tema default

base package / tema default

 

di sconsiglio di modificare i file nel base package, al più copiali in uno dei due precedenti e modifica quelli;

l'ideale è utilizzare un file di layout nominato "local.xml" nel tuo tema e inserire lì tutte le direttive di layout necessarie.

 

Un saluto

Alessandro Ronchi -- https://github.com/aleron75

Re: Formattazione email degli ordini

Ok, grazie mille, è un buon punto di partenza, mi documento e torno alla carica.

Re: Formattazione email degli ordini

Dando un'occhiata veloce ho capito che quindi se la mail di riepilogo ordini non viene nemmeno renderizzata come sarebbe di default e non ci sono i file nella cartella del tema a logica vuol dire che qualcuno ha messo mano ai file core di design.

 

Re: Formattazione email degli ordini

Ciao,

per toglierti ogni dubbio ti consiglio di scaricare una versione pulita di Magento e confrontare il contenuto delle cartelle.

 

Altro suggerimento: non eliminare mai i contenuti della cartella di locale en_US perché è la cartella di fallback predefinita.

 

Un saluto

Alessandro Ronchi -- https://github.com/aleron75

Re: Formattazione email degli ordini

Volevo porre attenzione a un altro aspetto. Magento dalla 1.9 usa delle email differenti.

Siccome sono stati aggiunti nuovi blocchi e nuove variabili, il sistema non è retrocompatibile.

Ti consiglio di verificare che:

- la traduzione e le email tradotte siano ufficiali e senza modifiche

- i template email siano quelli corretti e non magari template differenti basati su versioni precedenti la 1.9

 

 

------------------ [ Antonio Carboni ] ------------------Hosting Magenio
Problema risolto? Clicca Accept as Solution!

Re: Formattazione email degli ordini

Innanzitutto grazie delle risposte e dei suggerimenti.

Cercherò di fare i controlli su quello che avete indicato (essendo un niubbo mi è anche un pochino complesso fare i controlli).

Ho comunque capito il cuore del problema dove sta analizzando l'html delle mail generate.
In sostanza l'elenco prodotti viene richiamato da questa riga nel template:

{{layout handle="sales_email_order_items" order=$order}}

 

I prodotti nella mail vengono fuori ma non vengono inseriti in una tabella ma elencati senza stile.
Mentre gli altri elementi vengono inseriti nelle tabelle i prodotti nisba.

Ho cercato la funzione (è una funzione?) sales_email_order_items è in un file: order->items.phtml

Lì dentro sembra essere tutto a posto (elementi nelle tabelle inseriti correttamente).

Continuo ad indagare.
Ora proverò da backend ad aggiungere un nuovo template per le mail.

Re: Formattazione email degli ordini

>sales_email_order_items

>Ho cercato la funzione (è una funzione?) sales_email_order_items è in un file: order->items.phtml

 

no, è un layout handle che identifica un gruppo di regole di layout che devono essere applicate dal motore di rendering di Magento e che solitamente sono definite nei file XML di layout.

 

Nel caso specifico, per un template standard puoi guardare le regole applicate dal layout handle sales_email_order_items nel file XML di layout seguente:

 

<magento_dir>/app/design/frontend/base/default/layout/sales.xml

 

cercando il tag <sales_email_order_items>

 

Un saluto,

Alessandro

Alessandro Ronchi -- https://github.com/aleron75

Re: Formattazione email degli ordini

Alla fine sono riuscito a risolvere, non ho compreso proprio come e cosa non andava ma era un problema di css.

La soluzione che ho applicato è stato richiamare nel template della mail un css già presente tra i file di Magento.

 

{{inlinecss file="email-inline.css"}}

Quello che penso è che il template mail che usiamo non pescava bene gli stili perché forse qualche classe era cambiata.
Io pensavo erroneamente che non venisse direttamente messo nelle tabelle mentre in realtà a quanto pare mancava lo stile.

Re: Formattazione email degli ordini

Ovviamente ho poi creato una copia di quel .css già presente e poi ho editato in modo da dare lo stile che volevo alla mail.