Como sabéis, en digitalDot llevamos años creando módulos para Prestashop, una de las mejores plataformas para la creación de tiendas online. ¿Por qué?
Porque Prestashop permite la escalabilidad de cualquier tipo de eCommerce. Los diferentes módulos de los que dispone ayudan a crear tiendas muy personalizadas y dotarlas de aquellos elementos que ayudan al aumento de las conversiones.
Algunos de ellos, como los desarrollados para Prestashop 1.7 les estábamos dando un uso interno, es decir, los utilizábamos para los clientes que nos habían pedido el diseño de una tienda online.
Son varios los módulos que implantamos en nuestras tiendas con Prestashop y que mejoran su usabilidad, funcionalidad y gestión:
Los módulos que hemos ido desarrollando tras comunicarlos por los foros de Prestashop han tenido muy buena acogida y han pasado a solicitarse a nivel internacional, lo cual, dicho sea de paso, nos ilusiona porque somos unos apasionados de nuestro trabajo y poder compartirlo con la comunidad de Prestashop nos satisface. Desde aquí, muchas gracias por vuestra confianza.
Y, después de este momento sentimental ? ¡vamos al lío!
Tras el desarrollo del módulo de pago con Bizum nos dimos cuenta de que la forma que teníamos de generar traducciones, tras leer la información oficial de las páginas de Prestashop, no se estaba respetando. Aquí os dejamos la documentación oficial de Prestashop: Cómo traducir un módulo en Prestashop.
Atendiendo a los módulos creados por nuestro equipo de desarrolladores, observamos que en la parte del Backoffice, nuestros módulos aparecían con la opción de traducir pero no detectaba las posibilidades de cambio.
Así que nos pusimos a indagar ? cómo Prestashop gestiona las traducciones internamente.
Para hacerlo, utilizan un controller, el AdminTranslationsControllerCore. Cada vez que entramos en la sección de traducción del módulo elegido, recorre todos los ficheros clasificando los php y los tpl, y para cada uno de ellos sigue unas reglas de búsqueda de patrones con la función PHP: preg_match_all.
Analizando este resultado nos dimos cuenta que en la versión de los PHP que antiguamente se declaraban las traducciones en los módulos con la sintaxis:
Que por cierto hemos encontrado en algunos módulos actualizados y que para los módulos que desarrollamos externamente debemos cambiarlo por:
Y en los ficheros de tpl tanto de frontend como de backend debemos traducir:
Por:
Esperamos haberos ayudado a vosotros también con el problema de las traducciones en los módulos de Prestashop. A nosotros nos costó un par de horas de investigación y mucho salseo con los controladores de Prestashop hasta dar con la clave.
Suerte y a seguir desarrollando para este gran CMS que nos hace montar nuestras tiendas online de forma sencilla y con infinidad de funcionalidades.
Os dejamos, para finalizar, los enlaces al nuevo sistema de traducción en Prestashop 1.7; y, cómo usar la traducción clásica en Prestashop para el desarrollo de módulos compatibles.
Para todos aquellos que necesitéis de nuestro asesoramiento en desarrollo web o presupuesto para una tienda online, no dudéis de contactar con el equipo de digitalDot.