Foro de soporte WordPress en español


Soporte WordPress en español Soporte gratuito para webs alojadas en Webempresa.com
Habilitado para todos los clientes con planes de Hosting Alto Rendimiento a partir de 3GB y planes XL.

No ofrecemos soporte a webs alojadas en servidores externos o localhost, ni soporte css o programación.

Te recomendamos que leas esta información sobre nuestro sistema de soporte en el foro, te ayudará a sacar el máximo partido de nuestro conocimiento: Cómo podemos ayudarte.


Encuentra la solución a tu problema, buscando en nuestro foro:
Bienvenido, Invitado
Nombre de Usuario: Contraseña: Recordarme

TEMA: Insertar código javascript en los CMS en Prestashop 1.7.6

Insertar código javascript en los CMS en Prestashop 1.7.6 2 semanas 2 días antes #341655

Hola a todos:

Estamos migrando páginas CMS de la versión 1.6 a la 1.7.6 de Prestashop. En algunas páginas, tenemos (en la versión 1.6) introducido códio Js. El tema está en que al intentar pasar el mismo código a la 1.7, nos da error al guardar la página. Recordamos que en su momento hicimos un cambio en algún fichero de configuración del Prestashop 1.6 que nos permitió meter este código, pero no recordamos cómo lo hicimos.
En otro hilo hemos encontrado que haciendo un cambio en el fichero validate.php ("Añadir JavaScript y JQuery a CMS Prestashop") , pero estamos haciendo esta operación en la versión 1.7 y .... seguimos con fallo a la hora de guardar la página.

¿Alguién sabe cómo podemos hacer esto?. Gracias de antemano.

URL del sitio: Contenido oculto para usuarios invitados. Por favor, inicie su sesión para poder verlo.
  • Sergio
  • Avatar de Sergio
  • DESCONECTADO
  • Navegador Junior
  • Mensajes: 31
  • Karma: 0
El tema ha sido cerrado.
Mejora la velocidad de tu WordPress

Insertar código javascript en los CMS en Prestashop 1.7.6 2 semanas 2 días antes #341657

Hola

El código que quieres agregar es el mismo para todas tus páginas CMS, ya que lo mejor es que agregues este código javascript en un archivo javascript que ya este cargando tu theme y poner algunas condiciones en caso no lo quieras cargar en todas las páginas.

Revisa primero en los archivos de tu theme si tienes algún archivo .js que puedas usar para agregar este código al final.

Puedes revisar la siguiente discusión como referencia:
www.prestashop.com/forums/topic/585823-i-want-to-add-javascript-code-in-cms-page/

Saludos.
Si nuestra ayuda te sirve déjanos tu testimonio y mejora así el posicionamiento de tu web:
Enviar mi Testimonio
¡Gracias!.
El tema ha sido cerrado.
trasladar web gratis

Insertar código javascript en los CMS en Prestashop 1.7.6 2 semanas 2 días antes #341660

Hola, Jhon:

No, el código es para embeber diferentes videos en diferentes páginas. Lo hacemos de esta manera para poder meter códigos al final del video embebido que no permita el compartir ni nada parecido. En 1.6 nos funcionaba bien, pero en 1.7 no nos deja guardar la página .....
  • Sergio
  • Avatar de Sergio
  • DESCONECTADO
  • Navegador Junior
  • Mensajes: 31
  • Karma: 0
El tema ha sido cerrado.

Insertar código javascript en los CMS en Prestashop 1.7.6 2 semanas 2 días antes #341662

Hola Sergio,

¿Podrías compartir el código JS que tienes en la version 1.6 y que no te permite introducir la version 1.7? ¿Qué error te arroja al introducir ese codigo en la versión 1.7?

Saludos.
ArellanoB

Si nuestra ayuda te sirve déjanos tu testimonio y mejora así el posicionamiento de tu web:
Enviar mi Testimonio
¡Gracias!.
El tema ha sido cerrado.

Insertar código javascript en los CMS en Prestashop 1.7.6 2 semanas 2 días antes #341666

Hola, Jhon:

Claro. Adjunto archivo con el código. No es que me dé un error concreto. Lo que hace es no dejarnos guardar la página y nos pone en rojo todo el código. Adjunto pantallazo.
Adjuntos:
  • Sergio
  • Avatar de Sergio
  • DESCONECTADO
  • Navegador Junior
  • Mensajes: 31
  • Karma: 0
El tema ha sido cerrado.

Insertar código javascript en los CMS en Prestashop 1.7.6 2 semanas 2 días antes #341667

Hola Sergio,

En efecto, el código no se guarda aun cuando solo intento guardar código HTML sin el JS. En estos casos lo ideal sería utilizar algún módulo adicional que te permita insertar el código como puede ser ContentBox -> contentbox.org/ o contactar algún elemento de nuestra red de colaboradores de Prestashop -> www.webempresa.com/directorio-colaboradores/84-soporte-prestashop.html

Saludos.
ArellanoB

Si nuestra ayuda te sirve déjanos tu testimonio y mejora así el posicionamiento de tu web:
Enviar mi Testimonio
¡Gracias!.
Última Edición: 2 semanas 2 días antes por Bulmaro Arellano Navarrete.
El tema ha sido cerrado.

¿Te ha resultado interesante esta entrada del foro?

Suscríbete para recibir consejos y trucos útiles para tu Web.

Insertar código javascript en los CMS en Prestashop 1.7.6 2 semanas 20 horas antes #341704

Estimado Bulmaro:

Gracias por la respuesta y el interés, pero no es la solución. A nosotros sí nos guarda código HTML si metemos, lo que no nos guarda el el código Js. Sin embargo, sabemos que hay una forma de modificar ciertos valores en los ficheros de Prestashop para que no "valide" el código que introduzcamos ahí antes de guardarlo. Esto mismo lo tuvimos que hacer en la versión 1.6 y funcionó (al principio nos ocurría igual).

Hemos instalado contentBox y, a menos que lo estemos usando mal, nos permitiría introducir siempre el mismo código en todos los sitios (a lo mejor es que no lo hemos sabido utilizar). Nosotros necesitamos meter un código distinto en distintas páginas, por eso la mejor solución sería saber cual es el fichero y el código que hay que modificar en Prestashop 1.7 para que no valide este código de las páginas CMS.

En la versión 1.6 estaba en el fichero Validate.php, pero hemos hecho la misma modificación en la versión 1.7 y no nos ha funcionado. ¿Alguna idea para esta versión 1.7?

Gracias por el intento, de verdad.
  • Sergio
  • Avatar de Sergio
  • DESCONECTADO
  • Navegador Junior
  • Mensajes: 31
  • Karma: 0
El tema ha sido cerrado.

Insertar código javascript en los CMS en Prestashop 1.7.6 2 semanas 15 horas antes #341716

Hola Sergio.

Edita el archivo validate.php que encontras en la carpeta " Classes " de la instalación.

Busca el siguiente código:
public static function isCleanHtml($html, $allow_iframe = false)
    {
        $events = 'onmousedown|onmousemove|onmmouseup|onmouseover|onmouseout|onload|onunload|onfocus|onblur|onchange';
        $events .= '|onsubmit|ondblclick|onclick|onkeydown|onkeyup|onkeypress|onmouseenter|onmouseleave|onerror|onselect|onreset|onabort|ondragdrop|onresize|onactivate|onafterprint|onmoveend';
        $events .= '|onafterupdate|onbeforeactivate|onbeforecopy|onbeforecut|onbeforedeactivate|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onmove';
        $events .= '|onbounce|oncellchange|oncontextmenu|oncontrolselect|oncopy|oncut|ondataavailable|ondatasetchanged|ondatasetcomplete|ondeactivate|ondrag|ondragend|ondragenter|onmousewheel';
        $events .= '|ondragleave|ondragover|ondragstart|ondrop|onerrorupdate|onfilterchange|onfinish|onfocusin|onfocusout|onhashchange|onhelp|oninput|onlosecapture|onmessage|onmouseup|onmovestart';
        $events .= '|onoffline|ononline|onpaste|onpropertychange|onreadystatechange|onresizeend|onresizestart|onrowenter|onrowexit|onrowsdelete|onrowsinserted|onscroll|onsearch|onselectionchange';
        $events .= '|onselectstart|onstart|onstop';
 
        if (preg_match('/<[\s]*script/ims', $html) || preg_match('/(' . $events . ')[\s]*=/ims', $html) || preg_match('/.*script\:/ims', $html)) {
            return false;
        }
 
        if (!$allow_iframe && preg_match('/<[\s]*(i?frame|form|input|embed|object)/ims', $html)) {
            return false;
        }
 
        return true;
    }

Modifica por lo siguiente:
public static function isCleanHtml($html, $allow_iframe = false) { return true; }

Para añadir el código en la página acuerdate que tienes que utilizar la opción de Code:

Capturadepantalla2019-11-20alas12.43.30.png


Según lo que veo en las capturas, si te das cuenta veo que delante del <divi> añade unas comillas y por eso estará dando el error.

screenshot-www.webempresa.com-2019.11.20-12_47_28.jpg


Un saludo
  • Pepe
  • Avatar de Pepe
  • DESCONECTADO
  • Administrador
  • Mensajes: 19980
  • Gracias recibidas 1594
  • Karma: 582
Si nuestra ayuda te sirve déjanos tu testimonio y mejora así el posicionamiento de tu web:
Enviar Testimonio
¡Gracias!.
El tema ha sido cerrado.

Insertar código javascript en los CMS en Prestashop 1.7.6 2 semanas 6 horas antes #341741

Estimado Pepe:

Hola. Gracias por el aporte, va más en la línea de lo que estamos buscando. El cambio en el fichero Validate.php ya lo habíamos hecho y es el mismo que hicimos en su momento en la versión 1.6. Las comillas del código las pone en realidad Prestashop al indicar el fallo, pero no están en el código original. Pensamos que quizás, en la versión 1.7, haya que hacer algo más que la modificación en el fichero Validate. Pero esta es basicamente la línea que buscamos. ¿Sabéis de algún otro cambio que pueda realizarse y que nos permita introducir el código? Jo, en 1.6 no tuvimos ningún problema, pero en 1.7 ..... se está complicando.
  • Sergio
  • Avatar de Sergio
  • DESCONECTADO
  • Navegador Junior
  • Mensajes: 31
  • Karma: 0
El tema ha sido cerrado.

Insertar código javascript en los CMS en Prestashop 1.7.6 2 semanas 5 horas antes #341742

Hola

En tu caso lo único que cambia es el código HTML, es decir este código:
<div id="contenedor_youtube" style="float: left;">
<div class="caja_transparente" id="id_caja_1"></div>
<!--El numero de "id_caja_x" se tiene que cambiar por un numero de forma incremental en cada video, si se repite, no funcionara--> <!--Este es el div que se pone encima del video de youtube-->
<div id="youtube" class="youtube"><!--El numero de "video_x" se tiene que cambiar por un numero de forma incremental en cada video, si se repite, no funcionara--> <iframe width="425" height="350" id="video_1" src="https://www.youtube.com/embed/XXXXXXXX?wmode=opaque&enablejsapi=1&rel=0&showinfo=1&controls=0"></iframe></div>
</div>

Este código si que puede agreagarse en cada página ya que cambiarás el ID del video

Sin embargo el código que no cambia es lo que esta dentro del <script></script>, no hay necesidad de repetir este código en todas las páginas, lo más práctico sería que lo agregues al final de algún archivo .js que carga tu theme, la otra opción es agregarlo como literal en el page.tpl, aqui se trata ese tema : www.prestashop.com/forums/topic/624773-inject-script-on-cms-page-prestashop-17/

Saludos.
Si nuestra ayuda te sirve déjanos tu testimonio y mejora así el posicionamiento de tu web:
Enviar mi Testimonio
¡Gracias!.
El tema ha sido cerrado.

Insertar código javascript en los CMS en Prestashop 1.7.6 2 semanas 2 horas antes #341743

Hola Sergio,

Descarga el módulo de ContentBox -> contentbox.org/

Luego inserta el JS siguiente en la configuración del modulo y configúralo como te muestro en la captura:
<script>
function onYouTubePlayerAPIReady()
{numero_videos=document.getElementsByClassName('youtube').length;
for(var a=0;a<numero_videos;a++)
   contador_videos=a+1,player[contador_videos]=new YT.Player('video_'+contador_videos,{events:{onReady:onPlayerReady(e,contador_videos)}})
}
function onPlayerReady(a,b){isPaused[b]=!0,isPlaying[b]=!1,playButton[b]=document.getElementById('id_caja_'+b),playButton[b].addEventListener('click',function()
{isPaused[b]?(id=playButton[b].id,id=id.replace('id_caja_',''),console.log(id),player[id].playVideo(),isPaused[b]=!1):isPaused[b]=!0});
var c=document.getElementById('id_caja_'+b);
c.addEventListener('click',function(){isPlaying[b]?(id=playButton[b].id,id=id.replace('id_caja_',''),console.log(id),player[id].pauseVideo(),isPlaying[b]=!1):isPlaying[b]=!0})}
var numero_videos=0,e=null,tag=document.createElement('script');
tag.src='https://www.youtube.com/player_api';
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag,firstScriptTag);
var player=[],playButton=[],contador_videos=1;
isPaused=[],isPlaying=[];
</script>

Captura:

CapturadePantalla2019-11-20alas18.03.13.png


Luego dirígete a una de las páginas en que necesites mostrar el iframe e inserta el HTML:
<div id='contenedor_youtube' style='float: left;'>
<div class='caja_transparente' id='id_caja_1'></div>
<div id='youtube' class='youtube'> 
<iframe width='425' height='350' id='video_1' src='https://www.youtube.com/embed/XXXXXXXX?wmode=opaque&enablejsapi=1&rel=0&showinfo=1&controls=0'></iframe>
</div>
</div>

Por ejemplo, yo lo insertaré en la página "Sobre nosotros"

Archivo adjunto CapturadePantalla2019-11-20alas18.14.26.png no encontrado



Resultado:

CapturadePantalla2019-11-20alas18.16.29.png


Como lo indica Jhon, No es necesario insertar el JS en cada página en la que lo necesites. Insertándolo dentro del módulo de ContentBox cargará en el footer y no debería causarte conflictos con otros módulos.

Saludos.
Adjuntos:
ArellanoB

Si nuestra ayuda te sirve déjanos tu testimonio y mejora así el posicionamiento de tu web:
Enviar mi Testimonio
¡Gracias!.
Última Edición: 2 semanas 2 horas antes por Bulmaro Arellano Navarrete.
El tema ha sido cerrado.

Insertar código javascript en los CMS en Prestashop 1.7.6 1 semana 6 días antes #341795

.... Joooolin. Sois unos cracks, de verdad. Anda que no nos queda por aprender a los simples mortales. Pues nos habéis resuelto el tema. Muchísimas gracias, de verdad. Así sí funciona.

Un cordial saludo a todos y de nuevo, muchas gracias por todos los aportes.
  • Sergio
  • Avatar de Sergio
  • DESCONECTADO
  • Navegador Junior
  • Mensajes: 31
  • Karma: 0
El tema ha sido cerrado.

Insertar código javascript en los CMS en Prestashop 1.7.6 1 semana 6 días antes #341814

Hola Sergio,

Gracias a ti por darnos la oportunidad de servirte y apoyarte en tus proyectos. Me alegra que hallas solucionado el problema y nuestras propuestas te hallan sido de utilidad.

Recuerda que estamos aquí al pendiente de tus consultas y dificultades que puedas tener en tus desarrollos.

Saludos :)
ArellanoB

Si nuestra ayuda te sirve déjanos tu testimonio y mejora así el posicionamiento de tu web:
Enviar mi Testimonio
¡Gracias!.
El tema ha sido cerrado.

Temas Relacionados

10 Respuestas emo
Tema iniciado 4 años 9 meses antes por EMILIO
7145 Visitas
17 Respuestas emo
Tema iniciado 3 años 7 meses antes por Enrique
3370 Visitas
5 Respuestas emo
Tema iniciado 1 año 9 meses antes por RAUL
819 Visitas
3 Respuestas emo
Tema iniciado 2 años 7 meses antes por Susana
1171 Visitas
1 Respuestas emo
Categoría: Módulos PrestaShop
Tema iniciado 1 año 9 meses antes por José Luís
655 Visitas
3 Respuestas emo
Tema iniciado 4 años 2 meses antes por Luis
1221 Visitas
3 Respuestas emo
Categoría: Módulos PrestaShop
Tema iniciado 10 meses 2 semanas antes por Manuel
330 Visitas
1 Respuestas emo
Tema iniciado 4 años 4 semanas antes por Antonio
2988 Visitas
3 Respuestas emo
Categoría: Módulos PrestaShop
Tema iniciado 3 años 8 meses antes por Rober
2937 Visitas
5 Respuestas emo
Tema iniciado 11 meses 2 semanas antes por Javier
199 Visitas

Moderadores: Pablo Velasco
Tiempo de carga de la página: 0.626 segundos