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.
Hola! Gracias por esta info pero… una pregunta de novatos…
¿Donde esta validate.php?
Saludos!
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
Muchas gracias por la información Alba :)
Me ayudaste con este post, también gracias por publicarlo. Muchas gracias.
MUCHAS GRACIAS! Qué fácil! :D
Felicidades por el artículo. Justo lo que me pasaba.
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" =)