Sobre este proyecto
it-programming / web-development
Abierto
Contexto general del proyecto
Mostrar un campo de personalización de texto en todos los productos, incluso en aquellos donde no se haya activado manualmente desde el BackOffice. El campo debe: Guardarse como el sistema nativo de PrestaShop (customization) Aparecer en carrito, pedido y BackOffice Ser compatible con PrestaShop 8.1 y el tema Transformer hemos intentando realizarlo con chatgpt pero da muchos errores ,adjunto propuesta Informe Técnico para el Informático - Integración de Campo de Personalización Universal en PrestaShop 8.1 🔧 Objetivo Mostrar un campo de personalización de texto en todos los productos, incluso en aquellos donde no se haya activado manualmente desde el BackOffice. El campo debe: Guardarse como el sistema nativo de PrestaShop (customization) Aparecer en carrito, pedido y BackOffice Ser compatible con PrestaShop 8.1 y el tema Transformer ⚠️ Problemas detectados durante el intento con módulo externo Error 500 al llamar a un método obsoleto: Fatal error: Call to undefined method CustomizationField::getCustomizationFields() ❌ El método ya no existe en PS 8.1, provocando caída total de la página. Warnings por use incorrecto en PS 8.1: Warning: The use statement with non-compound name 'Context' has no effect ❌ El namespace de estas clases ha cambiado. Usar \Context, \Tools, \Product directamente soluciona esto. No aparece el campo en productos sin personalización: Si customizable=0 y no hay entrada en ps_customization_field, el sistema de PrestaShop omite todo el flujo de personalización. Resultado: el campo no aparece, y en algunos casos el botón "Añadir al carrito" desaparece también. Riesgo de corrupción del flujo nativo: Forzar personalización por módulo sin actualizar base de datos puede dejar datos huérfanos o inconsistentes. 💡 Solución recomendada (estable y profesional) 1. Crear un campo de personalización común Insertar una entrada en ps_customization_field con: type = 1 (campo de texto) required = 0 is_module = 1 (si se quiere controlar por módulo) 2. Asignar ese campo a todos los productos existentes Insertar en ps_customization_field_product con: id_customization_field = id del campo creado id_product = id del producto 3. Modificar ProductController (o crear módulo) para asignar automáticamente el campo a los nuevos productos 🔍 Recomendaciones finales Realizar todas las pruebas en un entorno de staging Hacer backup completo antes de modificar la base de datos Evitar módulos que simulan personalización sin soporte de BD Confirmar que los hooks de submitCustomizedData y CartController funcionan sin override ✅ El cliente ya dispone de los archivos .tpl y estructura del módulo inicial. Se recomienda rehacer el trabajo usando la lógica anterior pero respaldado por las tablas oficiales de PrestaShop.
Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Bug o cambio pequeño
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Integraciones de API Otros (Otras APIs)
Roles necesarios Programador
Plazo de Entrega: No definido
Habilidades necesarias