Zonas de Envío España para PrestaShop 9.x
PrestaShop 9.x introduce mejoras importantes pero también errores críticos con transportistas. Este pack incluye el módulo completo de zonas españolas más el FIX oficial para TypeError en carriers.
Este pack gratuito para PrestaShop 9.x soluciona errores de tipado estricto en PHP 8+ y configura correctamente las 52 provincias españolas con zonas logísticas personalizadas.
Tutorial: Instalación del módulo + aplicación del FIX en PS9
¿Qué incluye este pack para PrestaShop 9?
PrestaShop 9 con PHP 8+ genera errores TypeError al gestionar transportistas. Este pack soluciona ambos problemas:
❌ TypeError: Return value must be of type int
❌ TypeError: Argument must be of type int, string given
❌ Provincias españolas incompletas o incorrectas
❌ Imposible crear zonas logísticas por región
✅ FIX para CarrierRepository.php
✅ FIX para CarrierRangeRepository.php
✅ 52 provincias españolas configuradas
✅ Sistema de zonas logísticas funcional
🔧 FIX Incluido: TypeError en Transportistas
Problema resuelto: PrestaShop 9.x genera errores al crear o editar transportistas debido al tipado estricto de PHP 8+.
Archivos corregidos:
/src/Adapter/Carrier/Repository/CarrierRepository.php/src/Adapter/Carrier/Repository/CarrierRangeRepository.php
Solución: Casteo forzado a integer en métodos críticos (getOrdersCount(), getRangeMethodTable()).
Qué incluye el pack completo
Detalles técnicos del FIX
El FIX modifica dos archivos críticos del core de PrestaShop 9 para resolver incompatibilidades de tipado:
CarrierRepository.php (línea 341)
Fuerza conversión a int en getOrdersCount() para evitar retornos string.
CarrierRangeRepository.php (línea 191)
Valida tipo integer en getRangeMethodTable() antes de procesamiento.
Tablas del módulo:
ps_es_shipping_zones→ Almacena zonas personalizadasps_es_shipping_zone_province→ Vincula zonas con provincias- Sincronización bidireccional con
ps_stateyps_zone
// Conversión forzada a integer
public function getOrdersCount(int $carrierId): int
{
$result = $this->connection->fetchOne($sql);
return (int)$result; // FIX: casteo explícito
}
Ventajas del pack PS9
Sin Errores PHP
FIX definitivo para TypeError carriers
Provincias Completas
52 provincias oficiales españolas
Zonas Custom
Crea agrupaciones logísticas personalizadas
Selectores Smart
Botones: Península, Baleares, Canarias
Carriers Ready
Integración nativa con transportistas
PHP 8+ Compatible
Funciona con tipado estricto
Instalación en PrestaShop 9.x
Aplica el FIX primero
Haz backup de /src/Adapter/Carrier/Repository/ y reemplaza los 2 archivos corregidos. Limpia caché: /var/cache/prod/.
Instala el módulo
Sube es_shipping_zones.zip desde el gestor de módulos. Al instalar sincroniza automáticamente las 52 provincias.
Crea zonas logísticas
Accede a configuración del módulo. Nombra tu zona, usa botones rápidos (Península, Islas) y guarda.
Configura transportistas
Ve a Envío → Transportistas. Las zonas creadas estarán disponibles para asignar tarifas diferenciadas.
⚠️ Importante para PrestaShop 9
El FIX modifica archivos del core de PrestaShop:
- Haz backup completo antes de aplicar el FIX
- Los archivos modificados están en
/src/Adapter/Carrier/Repository/ - El módulo elimina provincias antiguas de España y las recrea
- Opcionalmente, puedes usar overrides PSR-4 en
/Override/PrestaShop/Adapter/ - Limpia siempre
/var/cache/después de aplicar cambios
Si PrestaShop lanza actualizaciones, verifica que los archivos del FIX no sean sobrescritos y vuelve a aplicarlos si es necesario.
Descargar Pack PrestaShop 9.x
Módulo + FIX TypeError para PS 9.0 - 9.2
⬇️ Descargar Pack 9.x CompletoES Shipping Zones v1.0.1 + FIX PS9
Desarrollado por Disciplina Digital | Javier Ortiz
Compatible PrestaShop 9.0.0 - 9.2.x | PHP 8.1+ | Gratuito