Este módulo sirve como base para crear módulos de PrestaShop. Implementa las mejores prácticas y estructura recomendada, incluyendo ejemplos de controladores front/admin, API endpoints, y manejo de base de datos.

Descárgalo desde GitHub

https://github.com/kaisarcode/psmod


Características

  • Compatibilidad Multiplataforma: Compatible con PrestaShop 1.7 y 8.x
  • Estructura Organizada: Sigue las mejores prácticas de desarrollo de PrestaShop
  • Autoloading vía Composer: Implementa PSR-4 para carga automática de clases
  • Ejemplos Integrados: Incluye ejemplos funcionales de:
    • API endpoint
    • Página frontend
    • Panel de configuración admin
    • Modelo de base de datos
  • Sistema de Hooks: Implementación de hooks esenciales para frontend y backend
  • Multilenguaje: Preparado para internacionalización

Requisitos previos

  • PrestaShop 1.7 o superior
  • PHP 7.2 o superior
  • Composer (para autoloading)

Comenzando

1. Clona el repositorio

git clone git@github.com:kaisarcode/psmod.git cd psmod

2. Instala las dependencias

composer dump-autoload

3. Instala el módulo

  1. Copia la carpeta psmod a tu directorio modules de PrestaShop
  2. Instala el módulo desde el Panel de Administración:
    • Ve a Módulos > Module Manager
    • Busca "PrestaShop Module"
    • Haz clic en "Instalar"

Estructura del proyecto

. ├── classes/ # Modelos y clases de objetos │ └── PsModExampleModelClass.php ├── controllers/ # Controladores front y admin │ ├── admin/ │ └── front/ ├── sql/ # Scripts de instalación/desinstalación ├── src/ # Clases personalizadas con namespace ├── translations/ # Archivos de traducción ├── views/ # Plantillas y assets │ ├── css/ │ ├── js/ │ └── templates/ ├── composer.json # Configuración de Composer ├── config.xml # Configuración del módulo └── psmod.php # Archivo principal del módulo

Personalizando el módulo

1. Renombrar el módulo

Para adaptar este módulo base a tu proyecto:

  1. Renombra la carpeta principal y archivos:

    mv psmod mymodule mv psmod.php mymodule.php
  2. Actualiza el namespace en composer.json:

    { "psr-4": { "YourNamespace\\MyModule\\": "src/" } }
  3. Actualiza las referencias en el código:

    • Nombre de la clase principal en mymodule.php
    • Prefijos de configuración
    • Referencias en controladores y templates

2. Añadir funcionalidades

  1. Nuevo controlador frontend:

    • Crea archivo en controllers/front/
    • Registra la ruta en hookModuleRoutes()
  2. Nuevo controlador admin:

    • Crea archivo en controllers/admin/
    • Añade tab en installTabs()
  3. Nueva tabla en base de datos:

    • Añade schema en sql/install.php
    • Crea modelo en classes/

URLs de ejemplo

  • API Endpoint: {tu-tienda}/example/api
  • Página Frontend: {tu-tienda}/example/page
  • Panel Admin: Módulos > Module Manager > Configuración

Solución de problemas

  • Error 404 en rutas: Verifica el registro correcto en hookModuleRoutes
  • Clases no encontradas: Ejecuta composer dump-autoload
  • Hooks no funcionan: Revisa el registro en regHooks()

Licencia

License: AFL-3.0

Este proyecto está licenciado bajo Academic Free License (AFL 3.0).


Contribuciones

Las contribuciones son bienvenidas. No dudes en:

  • Reportar bugs
  • Sugerir nuevas características
  • Enviar pull requests

Tags

prestashop php module ecommerce development webdevelopment opensource psr4 composer moduledevelopment prestashopmodule phpdevelopment boilerplate


Invítame un café en cafecito.app