Dove si inserisce lo Script Google Analitycs in Prestashop 1.7?
Nella versione 1.6 di Prestashop bastava inserirlo nel file header.tpl direttamente nella cartella del template, qui le cose sono un pò diverse, intanto i moduli standard sembrano avere tantissimi problemi, di più rispetto alla versione 1.6 e poi bisogna trovare il posto corretto dove inserirlo.
La prima cosa da fare è creare la proprietà su Google Analitycs ottenendo l’ID di monitoraggio (ID_M) , successivamente bisogna generare lo script google analitycs :
<script async src=”https://www.googletagmanager.com/gtag/js?id=ID_M“></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(‘js’, new Date());
gtag(‘config’, ‘ID_M‘);
</script>
Una volta ottenuto lo script google analitycs basta inserirlo in un file tpl che viene richiamato su ogni pagina di Prestashop, per la versione 1.7 il file ideale è head.tpl che si trova nella directory /httpdocs/themes/mio_tema/templates/_partials oppure può essere messo anche nel file layout-both-column.tpl che si trova nella directory /httpdocs/themes/mio_tema/templates/layouts.
Attenzione però che lo script va inserito dentro il blocco ‘head_ie_compatibility’ prima della chiusura nel file head.tpl oppure prima della chiusura del tag <head> nel file layout-both-column.tpl, come nella versione di Prestashop 1.6 con la differenza che prima dello script google analitycs vanno inseriti i tag {literal} perchè questo impedisce a Smarty di genererae un errore.
Smarty è un motore di web template scritto in PHP. Smarty permette di associare i comandi PHP semplici con un testo grezzo in HTML, il che permette ai designer ma anche a chi non sa nulla di informatica di creare un tema con estrema facilità.
I tag {literal} consentono di prendere letteralmente un blocco di dati. Questo è tipicamente usato attorno a Javascript o blocchi di fogli di stile dove {parentesi graffe} interferirebbe con la sintassi del delimitatore del template. Qualunque cosa all’interno dei tag {literal} {/ literal} non viene interpretata, ma visualizzata così com’è.
Per concludere, ecco il testo da inserire nel file /httpdocs/themes/classic/mio_template/layouts/layout-both-column.tpl prima della chiusura del tag <head> per far funzionare lo script google analitycs:
{literal}
<!– Global site tag (gtag.js) – Google Analytics –>
<script async src=”https://www.googletagmanager.com/gtag/js?id=ID_M“></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(‘js’, new Date());
gtag(‘config’, ‘ID_M‘);
</script>
{/literal}