PRESTASHOP

Cómo crear un módulo de PrestaShop



En este artículo, crearemos el módulo PrestaShop más simple para la versión 1.7. La extensión contendrá las opciones más básicas junto con la visualización de contenido de muestra enganchado en la página principal. El tutorial es una base excelente para trabajar en módulos PrestaShop más avanzados.

Comenzamos inventando el nombre del módulo. Vale la pena describir la función que realizará el complemento. En nuestro caso, le daremos un nombre "prestapros_demo". Las extensiones se encuentran en el directorio "módulos". Ahora, cree allí un directorio con un nombre inventado previamente. Luego, dentro del directorio agregue un archivo php con el mismo nombre. También debe agregar un archivo gráfico (que se muestra en el panel de administración). Creamos un módulo para la versión 1.7, por eso agregamos un archivo de logotipo con una resolución de 128 x 128 px en formato png.

El último archivo que agregamos es index.php. Lo creamos directorio de módulos. El siguiente contenido debe pegarse en el archivo. Este es un archivo que asegura el acceso al directorio desde afuera.

Crear modulo Prestashop

Finalmente, deberíamos tener la siguiente estructura de archivos:

Crear modulo Prestashop

El siguiente paso es editar el archivo del módulo principal. Pegue el siguiente código en él:

Crear modulo Prestashop

La primera condición (if) evita que se llame al archivo directamente desde el exterior. Si la constante _PS_VERSION_ no está definida cuando se invoca el archivo, el script se cerrará.

Luego creamos una clase llamada "prestapros_demo" que extiende la clase Módulo. Esta es la acción requerida para que la extensión funcione correctamente.

Echemos un vistazo a la construcción del constructor. Si el nombre de su módulo difiere del que figura en el artículo, cambie el valor $ this-> name. Además, puede cambiar $ this-> author. Puede dejar el resto de los atributos como en el ejemplo.

$this-> name es la ID del módulo, su valor debe ser el mismo que el nombre del directorio de extensión
$this-> tab define en qué sección de la lista de back office de los módulos se mostrará el complemento PrestaShop. En nuestro caso, establecemos el valor en 'front_office_features' porque el módulo está diseñado para mostrar texto adicional en el lado frontal. Se pueden encontrar más valores de atributos en el sitio web de PrestaShop
$this-> version es la versión del módulo. En nuestro caso, podemos establecerlo en 1.0.0
$this-> author ingresamos la firma que identifica al autor, que será visible en el panel administrativo
$this-> need_instance call (o no) clase de módulos al cargar la página del módulo en el panel de administración
La tabla $this-> ps_versions_compliancy especifica el valor de las versiones de PrestaShop para las que funcionará el módulo. Si la versión de la tienda no cabe en el rango, el módulo ni siquiera se instalará.
$this-> bootstrap define si las vistas de módulos en el panel de administración se crearán usando bootstrap
parent :: __ construct (); llama al método constructor de la clase Módulo.

Las líneas que se llaman después del código anterior son responsables de: nombre, descripción y mensaje que se muestran al eliminar el módulo PrestaShop. Están "envueltos" en el método 'l', que le permite ingresar traducciones.

Ya hemos discutido el constructor. El siguiente paso es agregar dos métodos simples pero necesarios. Al final de la clase del archivo php principal (antes del último cierre '}') agregue el siguiente código:

Crear modulo Prestashop

Los métodos son responsables de la instalación y eliminación del módulo en el panel de administración de PrestaShop.

El método "registerHook" es responsable de "conectar" el módulo a un gancho dado durante la instalación. Hay una gran cantidad de lugares en el código de PrestaShop que le permiten conectar módulos. Conectarse le permite ejecutar su propio código en el método apropiado. La lista completa de ganchos para la versión 1.7 está disponible aquí (https://devdocs.prestashop.com/1.7/modules/concepts/hooks/list-of-hooks/).

En nuestro caso, conectamos el módulo al gancho 'displayHome', que permitirá mostrar el contenido en la página principal de la tienda PrestaShop.

El siguiente paso es agregar un método que maneje el gancho anterior. Pegue el siguiente código justo después del método de desinstalación:

Crear modulo Prestashop

El método devuelve una cadena con un enlace a nuestro sitio. Puede cambiar el valor de retorno al que desee.

Vaya al panel de la oficina administrativa de la tienda a la sección de módulos para instalar la extensión. En la lista de módulos para la instalación, encuentre nuestro módulo y haga clic en el botón instalar.

Crear modulo Prestashop

Después de una instalación exitosa, debería aparecer un mensaje sobre su progreso positivo. Ahora puede ir a la página de inicio de las tiendas y ver el código agregado.

Crear modulo Prestashop

Vale la pena recordar que muchos módulos se pueden conectar a un gancho. Puede cambiar la posición de los módulos en el panel de administración:

Crear modulo Prestashop