License: AFL-3.0

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

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