Módulo de validación de correo electrónico con funcionalidades de registro para vendedores en PrestaShop 8.x
Este módulo de PrestaShop proporciona un sistema avanzado de validación de correos electrónicos antes del proceso de inicio de sesión/registro, con características especiales para vendedores del marketplace. Incluye una interfaz personalizada para promover el registro de nuevos vendedores y gestionar el proceso de autenticación de manera eficiente.
- Verificación de existencia: Comprueba si el email ya está registrado en la base de datos
- Redirección inteligente: Dirige a los usuarios al formulario apropiado (login/registro)
- Modo vendedor: Funcionalidad especializada para registro de vendedores
- Landing page promocional: Página atractiva para atraer nuevos vendedores
- Verificación de estado: Comprueba si un usuario ya es vendedor activo
- Flujo de registro personalizado: Proceso simplificado para vendedores
- Integración con ETS Marketplace: Compatible con el módulo de marketplace
- Diseño responsive: Adaptado para dispositivos móviles y desktop
- Estilo personalizado: CSS integrado con tema cohesivo
- Templates Smarty: Plantillas reutilizables y mantenibles
emailvalidation/
├── config.xml # Configuración del módulo
├── config_mx.xml # Configuración específica para México
├── emailvalidation.php # Clase principal del módulo
├── index.php # Archivo de protección
├── controllers/
│ ├── front/
│ │ ├── check.php # Controlador de validación
│ │ ├── seller.php # Landing page vendedores
│ │ └── sellerauth.php # Autenticación vendedores
│ └── index.php
├── views/
│ ├── css/
│ │ └── style.css # Estilos del módulo
│ ├── img/ # Recursos gráficos
│ └── templates/
│ └── front/
│ ├── check.tpl # Template validación
│ ├── seller.tpl # Template landing vendedores
│ └── sellerauth.tpl # Template auth vendedores
- PrestaShop 8.x
- PHP 7.4 o superior
- MySQL 5.7 o superior
-
Descarga el módulo
git clone https://github.com/tu-usuario/emailvalidation.git
-
Sube a PrestaShop
- Comprime la carpeta del módulo en ZIP
- Ve a Back Office → Módulos → Subir módulo
- Selecciona el archivo ZIP y sube
-
Instala el módulo
- Busca "Email Validation" en la lista de módulos
- Haz clic en "Instalar"
- Configura el módulo según tus necesidades
El módulo intercepta el proceso de autenticación y proporciona:
// Ejemplo de uso en el controlador check.php
$email = Tools::getValue('email');
$customer = new Customer();
$customer->getByEmail($email);
if ($customer->id) {
// Usuario existe - redirigir a login
Tools::redirect($loginUrl);
} else {
// Usuario nuevo - redirigir a registro
Tools::redirect($registerUrl);
}Para activar el modo vendedor, el módulo:
- Verifica si el usuario ya es vendedor activo
- Redirige al dashboard si es vendedor
- Ofrece registro como vendedor si no lo es
- Landing vendedores:
index.php?fc=module&module=emailvalidation&controller=seller - Auth vendedores:
index.php?fc=module&module=emailvalidation&controller=sellerauth - Validación:
index.php?fc=module&module=emailvalidation&controller=check
actionCustomerAccountAdd: Se ejecuta al crear nueva cuentaactionAuthentication: Se ejecuta en el proceso de autenticacióndisplayHeader: Inyecta recursos en el header
El módulo consulta las siguientes tablas:
ps_customer: Gestión de usuariosps_ets_mp_seller: Verificación de vendedores (ETS Marketplace)
Utiliza sesiones PHP para mantener estado:
$_SESSION['email_validation_seller_mode'] = true;
$_SESSION['pending_seller_registration'] = true;El archivo views/css/style.css contiene todos los estilos personalizados:
- Responsive design
- Tema cohesivo con colores corporativos
- Animaciones y transiciones suaves
Las plantillas están ubicadas en views/templates/front/:
- Extensión del template base de PrestaShop
- Variables Smarty para contenido dinámico
- Integración con sistema de traducciones
El módulo soporta múltiples idiomas:
- Español (configuración principal)
- Sistema de traducciones de PrestaShop
- Archivos de configuración localizados
$this->l('Texto a traducir')- Validación de email con
filter_var() - Sanitización de inputs con
Tools::getValue() - Verificación de tokens CSRF
- Escape de output en templates
Cada directorio incluye index.php con redirección para prevenir acceso directo:
header("Location: ../");
exit;El módulo incluye un panel de configuración en el Back Office:
- Configuración básica del módulo
- Validación de inputs
- Almacenamiento en
ps_configuration
- Landing vendedores: Visita la página principal de vendedores
- Proceso de validación: Prueba con emails existentes y nuevos
- Responsive: Verifica en diferentes dispositivos
- ✅ Email existente, usuario normal
- ✅ Email existente, vendedor activo
- ✅ Email existente, vendedor inactivo
- ✅ Email nuevo, registro normal
- ✅ Email nuevo, registro vendedor
- Fork del proyecto
- Crea una rama feature (
git checkout -b feature/nueva-funcionalidad) - Commit de cambios (
git commit -m 'Agrega nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request
- PSR-4 para namespaces
- Documentación en español
- Tests para nuevas funcionalidades
- Compatibilidad con PrestaShop 8.x
Ver la carpeta docs/examples/ para ejemplos detallados de uso.
Si encuentras algún bug o tienes sugerencias:
- Verifica que no esté ya reportado
- Incluye información del entorno
- Pasos para reproducir el problema
- Comportamiento esperado vs actual
Este proyecto es de uso privado y propietario.
Eduardo López Barrientos
- 📧 Email: [tu-email@ejemplo.com]
- 💼 LinkedIn: [tu-perfil-linkedin]
- 🐙 GitHub: [tu-usuario-github]
Desarrollado por Eduardo López Barrientos para HAMO.MX
- Diseñado específicamente para marketplace de artesanos mexicanos
- Optimizado para PrestaShop 8.x
- Integrado con ETS Marketplace module
⭐ Si este proyecto te resulta útil, considera darle una estrella en GitHub
Última actualización: Diciembre 2025