Tictac Soluciones Informáticas > Comercio electrónico > Insertar iframe en páginas CMS de Prestashop 1.5. (Inlcuido el mapa de Google Maps)

Insertar iframe en páginas CMS de Prestashop 1.5. (Inlcuido el mapa de Google Maps)

Prestashop 1.5. no permite incrustar iframes en sus páginas de CMS (páginas de contenido textual), pero muchas veces puede ser muy útil para incluir un mapa de Google Maps o un vídeo de Youtube, por ejemplo. En este artículo os vamos a explicar cómo incrustar un iframe en Prestashop 1.5.

Un iframe te permite incrustar un documento html en otro html principal. Actualmente su práctica está desaconsejada y, por eso, parece que a Prestashop ya no le ha parecido interesante permitir esta opción, pero yo me he encontrado con la necesidad de utilizarlo para incluir en las páginas de contenidos de Prestashop el mapa de ubicación de la tienda o un vídeo de presentación y tanto Google como Youtube te permiten incluir este contenido en tu página a través de los iframes.

Lo normal es que con el botón “Editar código html” del editor de textos de una página CMS en el panel de administración te dejase incluir el código que te proporcionan Google o Youtube para incrutar su contenido, pero Prestashop te da un error. Mi siguiente paso fue utilizar el botón del editor “Inserar/editar medio embebido”, pero obtuve el mismo error. Esto es lógico porque porque el problema es que Prestshop valida los campos que se mandan a la base de datos y si tienen un iframe, devuelve un error.

La solución es editar la clase que realiza esta validación. Para ello, editamos el archivo classes/validate.php y aproximadamente en la línea 405 nos encontraremos el código:

if (!$allow_iframe && preg_match(‘/<[s]*(i?frame|form|input|embed|object)/ims’, $html))
return false;

Y deberemos eliminar la parte de  i?frame|, quedando, como resultado final:

if (!$allow_iframe && preg_match(‘/<[s]*(form|input|embed|object)/ims’, $html))
return false;

Guardamos y ¡listo! Ahora Prestashop nos permitirá incluir iframes en nuestro contenido CMS. Copiaremos el iframe que queremos insertar, editaremos la página CMS deseada y, en el editor de textos del contenido, haremos clic en el botón  “Editar código html” para pegar el iframe en la ubicación deseada de la página.

2018-07-02T17:27:14+00:0019/02/2014|Comercio electrónico, Prestashop|

7 Comments

  1. M. Valuyos 11/04/2014 en 10:45 - Responder

    Hola! Gracias por esta info pero… una pregunta de novatos…
    ¿Donde esta validate.php?

    Saludos!

    • Pedro QD 08/11/2015 en 07:54 - Responder

      En las versiones antiguas tienes que descargar el archivo desde el Hosting vía FTP modificarlo y voleverlo a subir.
      En la versión 1.6.1.1 puedes pegar el código desde Google Maps en el formulario que deseas o en las páginas CMS pero antes activando : "Preferencias / General / Permitir iFrames en los campos de HTML"
      Para mayor detalle, mira este video: https://www.youtube.com/watch?v=YIjze4ApEvU

  2. Nora 12/06/2014 en 08:48 - Responder

    Muchas gracias por la información Alba 🙂

  3. Fideox 03/10/2014 en 17:10 - Responder

    Me ayudaste con este post, también gracias por publicarlo. Muchas gracias.

  4. evolatrie 20/11/2014 en 12:57 - Responder

    MUCHAS GRACIAS! Qué fácil! 😀

  5. Marc Llibre Giralt 22/01/2015 en 16:18 - Responder

    Felicidades por el artículo. Justo lo que me pasaba.

  6. En Prestashop 1.6 es más fácil: no hay más que ir a Preferencias > Configuración y activar la opción de "Permitir iframes" =)

Deje su comentario