Creare e Usare Formatters su Prestashop

Scrivere funzioni custom da usare nei vostri Designs

Clerk.js permette di scrivere funzioni javascript personalizzate, che aggiungono nuove funzionalità ai Designs.

I Formatters devono essere inseriti come configuration per Clerk.js, nel tracking-script che viene inserito su tutte le pagine.

Per Prestashop questo file contiene il tracking-script:

modules->clerk->views->templates->hook->clerk_js.tpl

Vedi qui un esempio. NB: l´esempio mostra Clerk v2 (ultima versione):

<!-- Start of Clerk.io E-commerce Personalisation tool - www.clerk.io -->
<script type="text/javascript">
(function(){
(function(w,d){
var e=d.createElement('script');e.type='text/javascript';e.async=true;
e.src=(d.location.protocol=='https:'?'https':'http')+'://cdn.clerk.io/clerk.js';
var s=d.getElementsByTagName('script')[0];s.parentNode.insertBefore(e,s);
w.__clerk_q=w.__clerk_q||[];w.Clerk=w.Clerk|| function(){ w.__clerk_q.push(arguments) };
})(window,document);
})();
Clerk('config', {
key: '{$clerk_public_key}',
collect_email: {$clerk_datasync_collect_emails},
language: '{$language}',
formatters: {
log_price: function(price) {
console.log(price);
}
},
});
</script>
<!-- End of Clerk.io E-commerce Personalisation tool - www.clerk.io -->

Puoi scrivere qualsiasi numero di Formatters, separati da una virgola:

formatters: {
   log_price: function(price) {
      console.log(price);
   },
   calculate_discount: function(price,special_price) {
      return price-special_price;
   },
   substring: function(text) {
      var short_string = text.substring(0,20);
      return short_string;
   }          
}

Dopo aver creato i tuoi Formatters, puoi usarli nei vostri Designs usando questa sintassi:

{{ price | log_price }} {{ price | calculate_discount |  special_price }}

Questo ti permette effettivamente di creare qualsiasi funzionalità nei Designs di cui tu abbia bisogno.