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
- Copia la carpeta
psmod
a tu directoriomodules
de PrestaShop - Instala el módulo desde el Panel de Administración:
- Ve a
Módulos > Module Manager
- Busca "PrestaShop Module"
- Haz clic en "Instalar"
- Ve a
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:
-
Renombra la carpeta principal y archivos:
mv psmod mymodule mv psmod.php mymodule.php
-
Actualiza el namespace en
composer.json
:{ "psr-4": { "YourNamespace\\MyModule\\": "src/" } }
-
Actualiza las referencias en el código:
- Nombre de la clase principal en
mymodule.php
- Prefijos de configuración
- Referencias en controladores y templates
- Nombre de la clase principal en
2. Añadir funcionalidades
-
Nuevo controlador frontend:
- Crea archivo en
controllers/front/
- Registra la ruta en
hookModuleRoutes()
- Crea archivo en
-
Nuevo controlador admin:
- Crea archivo en
controllers/admin/
- Añade tab en
installTabs()
- Crea archivo en
-
Nueva tabla en base de datos:
- Añade schema en
sql/install.php
- Crea modelo en
classes/
- Añade schema en
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