davidddp Posted January 26, 2017 Share Posted January 26, 2017 Me gustaría saber como puedo añadir código JavaScript a archivos .tpl o a páginas cms en PS 1.7. He probado a añadir el siguiente código a product.tpl y simplemente añadiendolo, me da error (he probado con {literal} y sin ello): <script language="JavaScript" type="text/javascript"> {literal} $(document).ready(function() { $("a.fancybox").fancybox(); }); {/literal} </script> Y si lo añado a una página cms, resulta que automaticamente me lo borra. He probado a cambiar la siguiente función en el archivo /classes/Validate.php 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; } por: public static function isCleanHtml($html, $allow_iframe = false) { return true; } Y ahora resulta que ya no me lo borra, me lo sustituye por lo siguiente (que no se si estará bien o mal) pero el caso es que sigue sin ejecutar la instrucción JavaScript: <script>// <![CDATA[ $(document).ready(function() { $(".fancybox").fancybox(); }); // ]]></script> Link to comment Share on other sites More sharing options...
davidddp Posted January 27, 2017 Author Share Posted January 27, 2017 ¿Nadie tiene que añadir javascript a su PS1.7? No creo que sea el único que tenga este problema... Link to comment Share on other sites More sharing options...
davidddp Posted March 3, 2017 Author Share Posted March 3, 2017 Lo mismo desactivando la función Usar la librería HTMLPurifier puede ser que funcione. Lo pruebo y lo comento! Y si alguien más tiene algo que decir por favor que comente. Link to comment Share on other sites More sharing options...
piribipipi Posted March 3, 2017 Share Posted March 3, 2017 Asi has probado??? {literal} <script language="JavaScript" type="text/javascript">$(document).ready(function() {$("a.fancybox").fancybox();});</script> {/literal} Link to comment Share on other sites More sharing options...
davidddp Posted March 4, 2017 Author Share Posted March 4, 2017 Asi has probado??? {literal} <script language="JavaScript" type="text/javascript"> $(document).ready(function() { $("a.fancybox").fancybox(); }); </script> {/literal} Sí, también probé así. 1 Link to comment Share on other sites More sharing options...
jd250 Posted May 1, 2020 Share Posted May 1, 2020 Lo solucionaste? Porque estoy en las mismas En 4/3/2017 a las 2:33 PM, davidddp dijo: Sí, también probé así. Link to comment Share on other sites More sharing options...
ventura Posted May 1, 2020 Share Posted May 1, 2020 Añadir el js directamente en los .tpl no esta considerado una buena practica. Se añade el código en el archivo : themes/classic/assets/js/custom.js 1 Link to comment Share on other sites More sharing options...
jd250 Posted May 1, 2020 Share Posted May 1, 2020 hace 2 horas, ventura dijo: Añadir el js directamente en los .tpl no esta considerado una buena practica. Se añade el código en el archivo : themes/classic/assets/js/custom.js Muchísimas gracias por tu ayuda Link to comment Share on other sites More sharing options...
Luisejo Posted May 3, 2020 Share Posted May 3, 2020 Recordemos editar el título del tema cada vez que se solucione. Esto facilita la lectura para otros compañeros del foro. Este lo edito yo. Gracias. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now