Saltar al contenido principal

Problemas de Visualización con Constructores de Páginas

Cuando construyes tu página de producto con un constructor de páginas como Creative Elements o AP Page Builder, es posible que el mensaje de Entrega Estimada no aparezca, aunque el módulo esté instalado, la fecha de entrega esté configurada y el hook necesario esté en su sitio. Esta guía explica por qué ocurre y cómo solucionarlo sin tocar código.

nota

Disponible desde la v3.7.5

Descripción general​

Por defecto, el módulo renderiza una sola instancia del mensaje de entrega por página de producto. Esta protección existe para que el mensaje nunca se imprima dos veces cuando un tema dispara el mismo hook más de una vez.

Algunos constructores de páginas construyen la página de producto en dos pasadas: primero generan un marcador de posición y después ejecutan un segundo proceso de renderizado para rellenar su contenido. El módulo interpreta el segundo renderizado como una repetición del primero y lo suprime, de modo que el mensaje de entrega desaparece de la página sin avisar.

Esto solo afecta a la visualización estándar basada en hooks de la página de producto. Es un tema distinto de colocar el widget en ubicaciones personalizadas, que se explica en Integración de Widget y Constructor de Páginas.

La solución​

Activa un único ajuste para permitir que el módulo se renderice más de una vez por página de producto:

  1. Abre el módulo y ve a Avanzado → Compatibilidad (Advanced → Compatibility).
  2. Activa Activar múltiples instancias en la página de producto (Enable multiple instances on Product Page).
  3. Guarda y recarga una página de producto de tu tienda para confirmar que el mensaje de entrega ya aparece.

Eso es todo lo necesario: sin editar plantillas y sin cambios de código.

Recordatorio automático: cuando el módulo detecta que Creative Elements o AP Page Builder está activo en tu tienda, muestra un aviso en su página de ajustes ("You seem to be using a page builder module…") con un enlace "click here to activate it" que activa este ajuste por ti con un solo clic.

Cómo funciona​

Mientras el ajuste está desactivado, el primer hook que se dispara en la página de producto marca el mensaje de entrega como "ya mostrado", y cualquier llamada posterior en la misma página se omite. Cuando activas Activar múltiples instancias en la página de producto (Enable multiple instances on Product Page), ese bloqueo se elimina, de modo que cada hook que dispare el constructor de páginas puede renderizar.

El módulo también comprueba si hay instalado y habilitado un constructor de páginas conocido (actualmente Creative Elements y AP Page Builder). Cuando detecta uno y el ajuste sigue desactivado, muestra el aviso recordatorio descrito arriba para que no te quedes adivinando por qué falta el mensaje.

Notas importantes​

  • Solo PrestaShop 1.7+. Este ajuste no tiene efecto en PrestaShop 1.6.
  • Constructores detectados automáticamente: el aviso recordatorio se muestra para Creative Elements y AP Page Builder. Otros constructores de páginas que renderizan la página en dos pasadas pueden sufrir el mismo problema: la solución es idéntica, solo que no recibirás el aviso automático, así que activa el ajuste manualmente.
  • PrettyBlocks no se ve afectado. Los bloques de PrettyBlocks pasan por el renderizador de widgets y se saltan por completo la protección de instancia única, así que no necesitas este ajuste cuando uses bloques de PrettyBlocks.
  • Déjalo desactivado si no lo necesitas. En un tema estándar, la protección evita la visualización doble accidental, así que activa esto solo cuando un constructor de páginas esté realmente suprimiendo el mensaje.

Solución de problemas​

ProblemaSolución
El mensaje de entrega sigue sin aparecer tras activar el ajusteConfirma que la fecha de entrega está realmente configurada para el producto (un producto sin ninguna regla coincidente no muestra nada por diseño) y limpia la caché de tus páginas para que el cambio surta efecto.
El ajuste no es visible en CompatibilidadLa opción está disponible en PrestaShop 1.7 y posteriores. En PS 1.6 no se aplica.
Ahora el mensaje aparece dos vecesTu tema ya estaba renderizando el mensaje correctamente y el constructor de páginas añade una segunda copia. Vuelve a desactivar el ajuste: solo lo necesitas cuando el mensaje falta, no cuando ya se muestra.

Preguntas frecuentes​

Mi página de producto usa un constructor de páginas y la fecha de entrega no se muestra en absoluto: ¿por qué?

Para evitar imprimir el mensaje de entrega dos veces, el módulo renderiza una sola instancia por página de producto. Algunos constructores de páginas crean un marcador de posición y luego renderizan su contenido en una segunda pasada, algo que el módulo trata como un duplicado y oculta. Activa **Avanzado → Compatibilidad → Activar múltiples instancias en la página de producto** para levantar ese límite. Este ajuste requiere PrestaShop 1.7 o superior.

¿Tengo que editar mi tema o añadir un hook manualmente?

No. La solución es un único interruptor en los ajustes de Compatibilidad del módulo. No hace falta editar plantillas ni añadir hooks a mano.

¿Qué constructores de páginas reconoce el módulo automáticamente?

Creative Elements y AP Page Builder. Cuando alguno de los dos está activo y el ajuste está desactivado, el módulo muestra un recordatorio en su página de ajustes con un enlace de un clic para activarlo. Otros constructores de dos pasadas pueden causar el mismo síntoma y se solucionan de la misma manera: simplemente activas el ajuste tú mismo.

¿Afecta esto a PrettyBlocks?

No. Los bloques de PrettyBlocks se renderizan a través de la interfaz de widgets y no están sujetos a la protección de instancia única, así que este ajuste no es necesario para ellos. Consulta [Integración de Widget y Constructor de Páginas](./widget-page-builder.mdx) para la colocación con PrettyBlocks.

¿Activar esto hará que el mensaje se muestre dos veces en un tema normal?

Puede ocurrir, si tu tema ya muestra el mensaje correctamente. La protección de instancia única existe precisamente para evitarlo. Activa este ajuste solo cuando un constructor de páginas esté suprimiendo el mensaje; en caso contrario, déjalo desactivado.

Funciones relacionadas​

  • Integración de Widget y Constructor de Páginas — colocar el widget de entrega en cualquier lugar mediante WidgetInterface o bloques de PrettyBlocks
  • Visualización en la Página de Producto — la visualización de entrega estándar basada en hooks a la que se aplica esta protección