Crear Módulo Prestashop

La siguiente dirección nos permitirá generar los archivos necesarios para comenzar con la creación de cualquier módulo:

https://validator.prestashop.com/generator

A partir de las instrucciones de la documentación de Prestashop, hemos seguido un «tutorial» para crea un módulo muy básico, disponible ya en mi repositorio a través de esta dirección:

https://github.com/JorgeGolo/first-upload-module

Este es el enlace a la documentación oficial:

https://devdocs.prestashop.com/1.7/modules/creation/tutorial/

Voy a listar unas notas que me han parecido bastante esclarecedoras sobre la forma que tiene Prestashop de estructurar sus módulos, y de cómo seguir sus estándares. Algunas ya las conocía de otras versiones:

  • Todo módulo llamado «Nombredelmodulo» que tenga una parte de configuración en el BackOffice tiene una función llamada getContent() en el archivo nombredelmodulo.php
  • Tools::isSubmit() es un método específico de Prestashop que comprueba si un formulario ha sido ejecutado.
  • Tools::getValue() es otro método específico que lee el parámetro desde POST o GET. En el ejemplo, Tools::getValue(‘MYMODULE_CONFIG’), donde MYMODULE_CONFIG es el name que le hemos dado al input del formulario.
  • updateValue(‘MYMODULE_CONFIG’, $nombrevariable) actualizará el texto del campo del formulario.
  • El objeto Validate contiene muchos métodos de validación, uno de ellos es isGenericName(), que ayuda a validar una string con «formato Prestashop válido», es decir, sin caracteres especiales.
  • displayError() muestra un mensaje de error
  • Hay algunos otros métodos explicados en el ejemplo que son fáciles de seguir.

En el tutorial también se habla de HelperForm:

  • Para generar un formulario, usamos un array multinivel y luego se lo pasamos como parámetro a la clase HelperForm
  • Se crea una instancia de la clase y se le pasan parámetros a sus métodos.
  • Luego se usa el método generateForm() pasándole como variable el array que hemos creado anteriormente.
  • Todo esto dentro de una función displayForm() que tendrá este return:         return $helper->generateForm([$form]);
  • La función displayForm la pasamos a su vez al return de getContent(), junto con toras variables (si queremos):         return $output . $this->displayForm();

Prestashop pone a disposición de los desarrolladores otros helpers como HelperList. En esta entrada se hace uso de HelperList:

https://www.prestashop.com/forums/topic/334228-solved-helperlist-not-generating-the-list/

Write a Reply or Comment

Your email address will not be published.