LuisIT Posted February 8, 2016 Share Posted February 8, 2016 Hola amigos de prestashop, soy Luis y soy nuevo en este mundillo. Llevo tiempo programando y soy ingeniero informático pero desconozco el sistema prestashop y como modificar cosas correctamente. El caso es que hice un contador regresivo en jquery el cual esta incrustado en un .tpl de un tema, exactamente en el header.tpl, la cuestión es que cuando el contador llega al final hace la función que tiene que hacer que es esconderse, pero al recargar la página o cambiar de página, sale por unos segundos y desaparece, pero no es el comportamiento que quiero. Quiero que no aparezca una vez ejecutada la función de jquery. He intentado llamar a un archivo .php al terminar la función pero nada y también el intentar un timestamp con smarty.now pero sin éxito. Alguna idea?? Gracias de antemano. Link to comment Share on other sites More sharing options...
TribalDexterD Posted February 8, 2016 Share Posted February 8, 2016 Hola Luis, si haces una pagina de test, externa a prestashop completamente vacía con solo el contador, cosa sucede una vez que hace la función y haces el refresh de la pagina? Aparece por algunos segundos como pasa en prestashop? Link to comment Share on other sites More sharing options...
LuisIT Posted February 11, 2016 Author Share Posted February 11, 2016 Pues en página externa, sin prestashop funciona bien y hace lo que tiene que hacer y se queda escondido. Yo creo que debe de ser porque al llamar al header.tpl carga el contenido yluego comprueba la función de jquery y entonces lo esconde, por eso se ve ese poco de tiempo. Puede ser por eso?? gracias por contestar TribalDexter Link to comment Share on other sites More sharing options...
TribalDexterD Posted February 12, 2016 Share Posted February 12, 2016 Puede ser muy probable sea como decís, pero es raro que en la pagina externa a prestashop aun haciendo el refresh no aparezca y desaparezca, también en este caso tendría que cargarlo, comprobar la función y desaparecer como hace en prestashop. Podrías hacer ver la función o prefieres no publicarla? 1 Link to comment Share on other sites More sharing options...
LuisIT Posted February 12, 2016 Author Share Posted February 12, 2016 (edited) Pues creo que la útlima vez que lo comprobe externamente iba bien, pero luego a la tarde lo volvere a probar a ver y te digo. Te pongo el trozo de código de la función: {literal} <script language="javascript" type="text/javascript"> jQuery(document).ready(function() { $('#contador-content').countDown({ targetDate: { 'day': 31, 'month': 01, 'year': 2016, 'hour': 23, 'min': 59, 'sec': 59 }, omitWeeks: true, onComplete: function() { $('#container-panelo').slideUp("slow"); } }); }); </script> {/literal} Edited February 12, 2016 by LuisIT (see edit history) Link to comment Share on other sites More sharing options...
LuisIT Posted February 14, 2016 Author Share Posted February 14, 2016 Tribal, he conseguido que funcione de esta forma: en el header.tpl he hecho un condicional con un timestamp, luego miro la fecha en que acaba el contador y lo paso a epoch y luego con $smarty.now compruebo si ha de mostrarse o no. Si ves alguna forma de hacerlo aútomatico te lo agradecería y sino si a alguien le sirve de lujo . Esto quedaría así: {if $smarty.now < 1455415319 - 3607} //Aqui lo que se muestra o deja de mostarse {/if} El primer numérico es la fecha en epoch para esconder el div correspondiente y el 3607 es una correción para que sea más preciso. Un saludo Link to comment Share on other sites More sharing options...
TribalDexterD Posted February 14, 2016 Share Posted February 14, 2016 Gracias Luis por haber compartido tu solución con la comunidad. Si se me viene alguna idea a la cabeza, sin ningún problema compartiré! 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