miércoles, 15 de enero de 2014

Crear modulo prestashop 1.5 (a partir de otro)

Manual para crear un módulo para Prestashop 1.5 a partir del módulo homefeatured que viene por defecto en la instalación básica de la tienda online.

  1. Ir a la carpeta /modules/homefeatured, copiar y pegar, y cambiar el nombre, por ejemplo por homefeaturedcustom.
  2. Cambiar el nombre también a todos los archivos que contiene, así como las referencias varias que haya dentro de la carpeta, llamadas a archivos, declaraciones de clase, etc (incluido config.xml).
  3. Lo que pongas dentro del config.xml en la etiqueta <author> te servirá también para filtrar desde la administración después, y encontrar tu módulo rápidamente (con estos pasos bien hechos, ya debería salirte, aunque la funcionalidad, obviamente será la misma que el módulo copiado). Hasta aquí te serviría para por ejemplo tener el módulo duplicado, por si quieres tenerlo 2 veces en la misma posición, con varios otros en medio.
  4. Lo podemos instalar ya. En la pantalla que vemos, los mensajes y opciones que nos aparecen, son las definidas en homefeaturedcustom.php, por ejemplo donde veamos HOME_FEATURED_NBR podemos sustituirlo por otro nombre esa variable, sino, pues ese panel de opciones no sirve, puesto que se solapará valores con el otro módulo, con la misma declaración.
  5. Un paso interesante a implementar extra, para aprender a darle utilidad a esta "modificación" del módulo, es seguir el siguiente tutorial: newfieldstut que lo que hace es enseñarnos a crear nuevas pestañas en la ficha de producto en la administración, y nuevos campos dentro de ella para estos.
    • Está en inglés, pero muy bien redactado, y con muchas imágenes, fácil de seguir.
    • Además tiene código inicial para seguirlo, y código final (funciona bien) por si en algún paso no te aclaras.
  6. Ahora tenemos un campo por el que filtrar lo que queremos mostrar. Por ejemplo, en ese campo podemos poner unos productos que sean "destacados". Y en el homeproductcustom.tpl, hay un bloque tal que así (por la línea 30 aproximadamente) :        <code>{foreach from=$products item=product name=homeFeaturedProducts}</code>
  7. Pues justo en la línea de abajo ponermos esto: <code> {if $product.custom_field eq "destacado"} </code>. Y sólo pasará esto con las imágenes que cumplan con ese valor en el campo nuevo creado, y sino, pues podemos poner un "else" o y hacer otra cosa, o simplemente no mostrarlos.
Pues ya está, ya tenemos un bloque para los productos "destacados". Ahora queda en nuestra mano, manipular el código para que salga una cantidad u otra de productos, crear un slide con ellos, darles otro formato/imagen, mostrar información distinta, etc.

No hay comentarios:

Publicar un comentario