NowShop Posted June 4, 2019 Share Posted June 4, 2019 Bonsoir, j’aimerais savoir comment il faut faire pour ajouter ce genre de petit bandeau défilant comme « livraison gratuite » puis 5 seconde plus tard « profitez de -50% ce week-end » Link to comment Share on other sites More sharing options...
Eolia Posted June 4, 2019 Share Posted June 4, 2019 Un truc comme ça ? https://shop.devcustom.net/fr/ Link to comment Share on other sites More sharing options...
NowShop Posted June 5, 2019 Author Share Posted June 5, 2019 12 hours ago, Eolia said: Un truc comme ça ? https://shop.devcustom.net/fr/ Oui comme cela Link to comment Share on other sites More sharing options...
Eolia Posted June 5, 2019 Share Posted June 5, 2019 A adapter/coller dans votre header.tpl: <div id="banner-slider"> <div class="banner-slide-top"> <style> #banner-slider .banner-slide-top { padding:0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; position: relative; max-width:100%; background-color:#d5d5d6; color:black; text-align: center; font-size:11px; } #banner-slide{ height:31px; argin: 0; overflow: hidden; } #banner-slide li{ list-style: none; padding: 10px 0; height:31px; font-size: 16px; } #banner-slide li a{ color:black; text-decoration: none; } </style> <ul id="banner-slide"> <li> <a href="link.html"> <b>{l s='OFFRE SPECIALE !'} </b>{l s='pour les mamies'} </a> </li> <li> <b>{l s='Un déambulateur offert'}</b> {l s='dès 3000€'} </li> <li> <b>{l s='Cartes Vermeil'}</b> {l s='acceptées'} </li> <li> {l s='Age limite :'} <b>{l s='150 ans'}</b> </li> </ul> <script> {literal} jQuery(document).ready(function($) { $("#banner-slide").slideEffect(); }); ;(function($) { $.fn.slideEffect = function(options) { var settings = $.extend({ timer_latency : 80 }, options); return this.each(function() { var timer, $wrapper = $(this); $wrapper.children().addClass("slide"); timer = setTimeout(switch_slide, $wrapper.find(".slide:eq(0)").text().length * settings.timer_latency); function switch_slide() { $wrapper.find(".slide:eq(0)").animate({"margin-top" : -$wrapper.height()}, function () { $(this).css({"margin-top": 0}).appendTo($wrapper); clearTimeout(timer); timer = setTimeout(switch_slide, $(this).text().length * settings.timer_latency); }); } }); }; })(jQuery); {/literal} </script> </div> </div> Link to comment Share on other sites More sharing options...
NowShop Posted June 5, 2019 Author Share Posted June 5, 2019 3 hours ago, Eolia said: A adapter/coller dans votre header.tpl: <div id="banner-slider"> <div class="banner-slide-top"> <style> #banner-slider .banner-slide-top { padding:0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; position: relative; max-width:100%; background-color:#d5d5d6; color:black; text-align: center; font-size:11px; } #banner-slide{ height:31px; argin: 0; overflow: hidden; } #banner-slide li{ list-style: none; padding: 10px 0; height:31px; font-size: 16px; } #banner-slide li a{ color:black; text-decoration: none; } </style> <ul id="banner-slide"> <li> <a href="link.html"> <b>{l s='OFFRE SPECIALE !'} </b>{l s='pour les mamies'} </a> </li> <li> <b>{l s='Un déambulateur offert'}</b> {l s='dès 3000€'} </li> <li> <b>{l s='Cartes Vermeil'}</b> {l s='acceptées'} </li> <li> {l s='Age limite :'} <b>{l s='150 ans'}</b> </li> </ul> <script> {literal} jQuery(document).ready(function($) { $("#banner-slide").slideEffect(); }); ;(function($) { $.fn.slideEffect = function(options) { var settings = $.extend({ timer_latency : 80 }, options); return this.each(function() { var timer, $wrapper = $(this); $wrapper.children().addClass("slide"); timer = setTimeout(switch_slide, $wrapper.find(".slide:eq(0)").text().length * settings.timer_latency); function switch_slide() { $wrapper.find(".slide:eq(0)").animate({"margin-top" : -$wrapper.height()}, function () { $(this).css({"margin-top": 0}).appendTo($wrapper); clearTimeout(timer); timer = setTimeout(switch_slide, $(this).text().length * settings.timer_latency); }); } }); }; })(jQuery); {/literal} </script> </div> </div> Merci je vais le tester Link to comment Share on other sites More sharing options...
NowShop Posted June 5, 2019 Author Share Posted June 5, 2019 (edited) J'ai un problème avec votre dev, le header ne défile pas -> nowshop.yn.fr Edited June 5, 2019 by NowShop (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted June 5, 2019 Share Posted June 5, 2019 Ah ben sur une 1.7 forcément... Mettez la partie <script> .... </script> dans le footer, après le chargement du js global (Et changez les textes, ça ne fait pas très sérieux ) Link to comment Share on other sites More sharing options...
NowShop Posted June 5, 2019 Author Share Posted June 5, 2019 Oui mais le problème quand je change le texte c'est qu'il me marque une erreur " Cette page ne fonctionne pas Impossible de traiter cette demande via nowshop.yn.fr à l'heure actuelle. HTTP ERROR 500 Je suis obliger de remettre ce que vous avez mis ..Et j'ai pas compris ce que vous avez dit Link to comment Share on other sites More sharing options...
Eolia Posted June 5, 2019 Share Posted June 5, 2019 si vous mettez un texte avec des apostrophes il faut les échapper avec un antislash devant: "Je m\'appelle" En 1.7 Jquery est chargé en fin de page, le bout de script que je vous ai donné est en haut de page et a besoin de Jquery, il faut donc enlever cette partie du header et la mettre dans le footer.tpl avant la balise </body> <script> {literal} jQuery(document).ready(function($) { $("#banner-slide").slideEffect(); }); ;(function($) { $.fn.slideEffect = function(options) { var settings = $.extend({ timer_latency : 80 }, options); return this.each(function() { var timer, $wrapper = $(this); $wrapper.children().addClass("slide"); timer = setTimeout(switch_slide, $wrapper.find(".slide:eq(0)").text().length * settings.timer_latency); function switch_slide() { $wrapper.find(".slide:eq(0)").animate({"margin-top" : -$wrapper.height()}, function () { $(this).css({"margin-top": 0}).appendTo($wrapper); clearTimeout(timer); timer = setTimeout(switch_slide, $(this).text().length * settings.timer_latency); }); } }); }; })(jQuery); {/literal} </script> Link to comment Share on other sites More sharing options...
NowShop Posted June 5, 2019 Author Share Posted June 5, 2019 4 minutes ago, Eolia said: si vous mettez un texte avec des apostrophes il faut les échapper avec un antislash devant: "Je m\'appelle" En 1.7 Jquery est chargé en fin de page, le bout de script que je vous ai donné est en haut de page et a besoin de Jquery, il faut donc enlever cette partie du header et la mettre dans le footer.tpl avant la balise </body> <script> {literal} jQuery(document).ready(function($) { $("#banner-slide").slideEffect(); }); ;(function($) { $.fn.slideEffect = function(options) { var settings = $.extend({ timer_latency : 80 }, options); return this.each(function() { var timer, $wrapper = $(this); $wrapper.children().addClass("slide"); timer = setTimeout(switch_slide, $wrapper.find(".slide:eq(0)").text().length * settings.timer_latency); function switch_slide() { $wrapper.find(".slide:eq(0)").animate({"margin-top" : -$wrapper.height()}, function () { $(this).css({"margin-top": 0}).appendTo($wrapper); clearTimeout(timer); timer = setTimeout(switch_slide, $(this).text().length * settings.timer_latency); }); } }); }; })(jQuery); {/literal} </script> J'ai fais exactement comme vous, j'ai réussi à mettre un texte sans problème grâce à votre solution mais aucun texte défilant se met pourtant j'ai mis cette partie de script dans footer et j'ai enlever de header le script Link to comment Share on other sites More sharing options...
Eolia Posted June 5, 2019 Share Posted June 5, 2019 juste avant la balise </body> ? Il ne semble pas... Link to comment Share on other sites More sharing options...
NowShop Posted June 5, 2019 Author Share Posted June 5, 2019 7 minutes ago, Eolia said: juste avant la balise </body> ? Il ne semble pas... Quelle balise </body> ? Je ne comprends pas excusez-moi Link to comment Share on other sites More sharing options...
Eolia Posted June 5, 2019 Share Posted June 5, 2019 Celle-ci Link to comment Share on other sites More sharing options...
NowShop Posted June 5, 2019 Author Share Posted June 5, 2019 Désolé mais je comprends rien ... J'ai tout mis au dessus de l'ancien code, et je ne vois aucun </body> Link to comment Share on other sites More sharing options...
NowShop Posted June 5, 2019 Author Share Posted June 5, 2019 Et je ne sais pas pourquoi mais tout mes textes sont en gras Link to comment Share on other sites More sharing options...
Eolia Posted June 5, 2019 Share Posted June 5, 2019 Ok, on va faire autrement... Dans le répertoire de votre thème vous devez avoir un fichier assets/js/custom.js Vous supprimez le code mis dans le footer.tpl et vous mettez ce code-ci dans assets/js/custom.js <script> jQuery(document).ready(function($) { $("#banner-slide").slideEffect(); }); ;(function($) { $.fn.slideEffect = function(options) { var settings = $.extend({ timer_latency : 80 }, options); return this.each(function() { var timer, $wrapper = $(this); $wrapper.children().addClass("slide"); timer = setTimeout(switch_slide, $wrapper.find(".slide:eq(0)").text().length * settings.timer_latency); function switch_slide() { $wrapper.find(".slide:eq(0)").animate({"margin-top" : -$wrapper.height()}, function () { $(this).css({"margin-top": 0}).appendTo($wrapper); clearTimeout(timer); timer = setTimeout(switch_slide, $(this).text().length * settings.timer_latency); }); } }); }; })(jQuery); </script> ce n'est pas exactement, j'ai retiré les balises {literal] {/literal} Si votre texte est en gras c'est parce qu'il est entouré de balises bold: <b>....</b> Il suffit de les enlever Link to comment Share on other sites More sharing options...
NowShop Posted June 5, 2019 Author Share Posted June 5, 2019 Ok merci, j'ai fais votre nouvelle technique mais çela ne marche toujours pas .. Link to comment Share on other sites More sharing options...
NowShop Posted June 5, 2019 Author Share Posted June 5, 2019 Si vous voulez, je vous donne l'accès a mon ftp et vous voyez ? Link to comment Share on other sites More sharing options...
Eolia Posted June 5, 2019 Share Posted June 5, 2019 il faut sans doute vider le cache dans le BO avant car Prestashop ne"sait" pas que vous avez modifié le fichier custom.js. Link to comment Share on other sites More sharing options...
NowShop Posted June 5, 2019 Author Share Posted June 5, 2019 6 hours ago, Eolia said: J’ai vider le cache mais rien ne change Link to comment Share on other sites More sharing options...
yama Posted June 5, 2019 Share Posted June 5, 2019 1 hour ago, Eolia said: Vous supprimez le code mis dans le footer.tpl et vous mettez ce code-ci dans assets/js/custom.js Question random : Ca change quoi de mettre dans le custom au lieu de footer ? Link to comment Share on other sites More sharing options...
Eolia Posted June 5, 2019 Share Posted June 5, 2019 je ne suis pas expert de la 1.7 (je ne l'aime pas) mais le footer.tpl n'est pas le dernier fichier lu dans la construction de la page. JQuery est chargé après le footer Le fichier custom.js est "normalement" chargé avec celui du thème et donc après le lancement de JQuery 1 Link to comment Share on other sites More sharing options...
Eolia Posted June 5, 2019 Share Posted June 5, 2019 Hop hop hop trouvé^^ Le script est bien chargé mais il ne faut pas mettre les balises <script> ... </script> dans ce fichier. Pardon pour mon erreur Donc le code à mettre est jQuery(document).ready(function($) { $("#banner-slide").slideEffect(); }); ;(function($) { $.fn.slideEffect = function(options) { var settings = $.extend({ timer_latency : 80 }, options); return this.each(function() { var timer, $wrapper = $(this); $wrapper.children().addClass("slide"); timer = setTimeout(switch_slide, $wrapper.find(".slide:eq(0)").text().length * settings.timer_latency); function switch_slide() { $wrapper.find(".slide:eq(0)").animate({"margin-top" : -$wrapper.height()}, function () { $(this).css({"margin-top": 0}).appendTo($wrapper); clearTimeout(timer); timer = setTimeout(switch_slide, $(this).text().length * settings.timer_latency); }); } }); }; })(jQuery); Puis vider le cache^^ Link to comment Share on other sites More sharing options...
NowShop Posted June 6, 2019 Author Share Posted June 6, 2019 22 hours ago, Eolia said: Hop hop hop trouvé^^ Le script est bien chargé mais il ne faut pas mettre les balises <script> ... </script> dans ce fichier. Pardon pour mon erreur Donc le code à mettre est jQuery(document).ready(function($) { $("#banner-slide").slideEffect(); }); ;(function($) { $.fn.slideEffect = function(options) { var settings = $.extend({ timer_latency : 80 }, options); return this.each(function() { var timer, $wrapper = $(this); $wrapper.children().addClass("slide"); timer = setTimeout(switch_slide, $wrapper.find(".slide:eq(0)").text().length * settings.timer_latency); function switch_slide() { $wrapper.find(".slide:eq(0)").animate({"margin-top" : -$wrapper.height()}, function () { $(this).css({"margin-top": 0}).appendTo($wrapper); clearTimeout(timer); timer = setTimeout(switch_slide, $(this).text().length * settings.timer_latency); }); } }); }; })(jQuery); Puis vider le cache^^ Merci beaucoup, le problème est résolu, tout va bien ! Link to comment Share on other sites More sharing options...
Eolia Posted June 7, 2019 Share Posted June 7, 2019 Pas tout à fait^^ Inscrivez vous au NewsLetter ! C'est gratuit "à la" ou "à notre" serait mieux je pense Et vous avez mis des liens <a> (liens cliquables) à chaque phrase mais qui ne pointent vers rien... Link to comment Share on other sites More sharing options...
NowShop Posted June 8, 2019 Author Share Posted June 8, 2019 Merci pour vos informations, j'y changerais Link to comment Share on other sites More sharing options...
NowShop Posted June 8, 2019 Author Share Posted June 8, 2019 Et aussi j'ai un gros problème, le header se met 2 fois, 1 en haut (tout va bien) et 1 en bas vers le newsletter, que faire ? Link to comment Share on other sites More sharing options...
Eolia Posted June 8, 2019 Share Posted June 8, 2019 On va dire que vous avez laissé du code dans le footer.tpl qui n'a rien à y faire C'est un bug chaise/clavier que nous ne pouvons pas corriger à distance... Link to comment Share on other sites More sharing options...
NowShop Posted June 8, 2019 Author Share Posted June 8, 2019 Oui mais le problème c'est que si je l'enlève du footer bah ça enlève les 2 header Link to comment Share on other sites More sharing options...
Eolia Posted June 8, 2019 Share Posted June 8, 2019 normalement le code sans le script doit être uniquement dans le header, pas dans le footer 1 Link to comment Share on other sites More sharing options...
Manu-41 Posted September 17 Share Posted September 17 Merci 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