Creare e usare i formatters su Magento 2

Scrivere funzioni personalizzate da usare nei vostri Designs

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

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

Per Magento 2, questo file contiene il tracking-script:

vendor->view->frontend->templates->tracking.phtml

Un esempio può essere visto qui sotto. Si prega di essere consapevoli che questo è per Clerk V2 (ultima versione):

<!-- Start of Clerk.io E-commerce Personalisation tool - www.clerk.io -->
  <script type="text/javascript">
    (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: 'O7UITkJIXqXibeQF9ONobiGGKYYKtbvh',
      formatters: {
             log_price: function(price) {
             console.log(price);
          }
      });
    });
  </script>

    <!-- End of Clerk.io E-commerce Personalisation tool - www.clerk.io -->
               

Potete 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 vostri Formatters, potete usarli nei vostri Designs usando questa sintassi:

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

Questo ti permette di creare qualsiasi funzionalità nei tuoi progetti di cui hai bisogno.