Cum adaugi JavaScript într-un fișier tpl (Smarty)?

cod javascript fisier tpl smarty

Am folosit acea formulare pentru titlu, pentru că este mai căutată propoziția folosind „tpl file” față de Smarty. Am o vagă idee de ce. Mi-a luat ceva să găsesc o soluție, pentru că nu sunt vreun connaisseur. Dar cum lucrez des cu Prestashop, m-am lovit de problemă. Ba chiar într-un mod stupid, pentru că era vorba de copy-paste la un cod de la Facebook Pixel.

Descriere scurtă: Smarty este un template scris în PHP. Practic scurtează niște funcții și le separă (în special design de chestii dinamice), astfel încât siteul să se încarce mai repede. În cazul nostru vorbim de un shop online realizat în Prestashop. Un alt avantaj al lui Smarty este faptul că recompilează doar fișierele de template, care tocmai ce ai fost modificate.

Care ar fi problema, de fapt?

Templateurile de PS au în interiorul folderului mai multe fișiere de tip tpl, unde poți face modificări temei. Idee e că dacă pui JS direct în acel fișier, siteul nu va rula acele funcții. Și nu vorbim de chestii complicate, ci chiar de un Google Analytics sau un Facebook Pixel, cum e în cazul nostru.

Așa că vom folosi tagul {literal}. El produce „separarea puterilor în stat”. Și voi posta un exemplu mai jos:

 <!-- Facebook Pixel Code -->
<script>
    {literal}
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window,document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
 fbq('init', '1877200xxxxx'); 
fbq('track', 'PageView');
    {/literal}
</script>
<noscript>
 <img height="1" width="1" 
src="https://www.facebook.com/tr?id=1877200245939348&ev=PageView
&noscript=1"/>
</noscript>
<!-- End Facebook Pixel Code -->

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *