Creación y uso de formateadores en Prestashop

Escriba funciones personalizadas para utilizarlas en sus diseños

Clerk.js te permite escribir funciones javascript personalizadas, que añaden nuevas funcionalidades a los Diseños.

Los formateadores se pueden añadir de dos maneras:

  • A través de my.clerk.io > Settings > Formatters, donde cada Formatter puede ser creado como entradas separadas.
  • Como configuración para Clerk.js, en el script de seguimiento que se inserta en todas las páginas, donde se pueden añadir múltiples formateadores a la vez.

Para Prestashop este archivo contiene el tracking-script:

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

Un ejemplo se puede ver a continuación. Tenga en cuenta que esto es Clerk V2(última versión):

<!-- 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 -->

Puede escribir cualquier número de Formatores, separados por coma:

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;
   }
}

Después de crear tus Formateadores, puedes usarlos en tus Diseños usando esta sintaxis:

{% raw %}{{ price | log_price }} {{ price | calculate_discount |  special_price }}{% endraw %}

Esto le permite crear cualquier funcionalidad que necesite en sus diseños.