Jump to content

Mise à jour carrousel d'image de la page d'accueil ne marche plus


Recommended Posts

Bonjour, 

 

Je viens de mettre à jour le module "

Carrousel d'image (slider) pour votre page d'accueil "  sous la version 1.5.6.2

 

Lorsque j'actualise ma page d'accueil, une page blanche apparait. Et lorsque je désactive le module, ma page s'affiche normalement. 

 

Est ce que vous pouvez m'expliquer pourquoi et comment faire pour qu'il marche. 

 

Merci d'avance pour votre réponse

Link to comment
Share on other sites

Merci pour votre 1ère réponse, voici le code erreur qui m'est affiché : 

Warning: Function addCSS() is deprecated in /htdocs/public/www/shop/modules/totop/totop.php on line 31
in /htdocs/public/www/shop/classes/Tools.php on line 2147 Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template "/htdocs/public/www/shop/modules/homeslider/views/templates/hook/header.tpl" on line 2 "{addJsDef homeslider_loop=$homeslider.loop}" unknown tag "addJsDef"' in /htdocs/public/www/shop/tools/smarty/sysplugins/smarty_internal_templatecompilerbase.php:667 Stack trace: #0 /htdocs/public/www/shop/tools/smarty/sysplugins/smarty_internal_templatecompilerbase.php(453): Smarty_Internal_TemplateCompilerBase->trigger_template_error('unknown tag "ad...', 2) #1 /htdocs/public/www/shop/tools/smarty/sysplugins/smarty_internal_templateparser.php(2388): Smarty_Internal_TemplateCompilerBase->compileTag('addJsDef', Array) #2 /htdocs/public/www/shop/tools/smarty/sysplugins/smarty_internal_templateparser.php(3101): Smarty_Internal_Templateparser->yy_r36() #3 /htdocs/public/www/shop/tools/smarty/sysplugins/smarty_internal_templateparser.php(3201): Smarty_Internal_Templateparser->yy_reduce(36) #4 /htdocs/public/www/sho in /htdocs/public/www/shop/tools/smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 667

Link to comment
Share on other sites

Beaucoup de mise a jour de module sous 1.5 partent en nouille depuis la sortie de presta 1.6

Je vous recommande de remettre l'ancienne version du module que vous trouverez en telechargeant la derniere version de prestashop 1.5.

Link to comment
Share on other sites

Bonjour, pareille 2 bug avec la mise à jours des modules homeslider et infos connexion clients : :angry: 
Chez moi la sortie de la 1.6 ne m'à posé que des soucis. Heureusement je suis rester en 1.5, mais même là ça me pose problème avec la mise à jour des modules qui plante.

Edited by Denys06 (see edit history)
Link to comment
Share on other sites

Bonjour,

 

Ayant eu la même surprise désagréable en mettant la version 1.2.7 du module homeslider sur une version de prestashop 1.5.6.2., je vous fais suivre la façon dont j'ai résolu ce problème :

 

 

1 - Créer le dossier :  /themes/(votre theme)/modules/homeslider/views/templates/hook/

 

2 - Dedans créer un fichier : header.tpl contenant :

{if isset($homeslider)}   
    <script type="text/javascript">
    var homeslider_loop = '{$homeslider.loop}';
    var homeslider_pause = '{$homeslider.pause}';
    var homeslider_speed = '{$homeslider.speed}';
    var homeslider_width = '{$homeslider.width}';
    </script>    
{/if}

Ce fichier va prendre le pas sur sur celui du module qui est à l'origine de l'erreur smarty "unknown tag addJsDef" car visiblement Prestshop<1.6 ne comprend pas cette instruction.

 

 

[optionnel] Dans le cas où le fichier tpl et css sont personnalisés dans votre thème :

 

3 - Toujours dans le dossier /themes/(votre theme)/modules/homeslider/views/templates/hook/ dupliquer/déplacer votre fichier homeslider.tpl qui se trouve dans /themes/(votre theme)/modules/homeslider/

 

4 - Dupliquer/renommer dans le dossier /themes/(votre theme)/css/modules/homeslider/ le fichier bx_style.css en homeslider.css

Car le module va désormais chercher ce css et plus l'ancien. C'est effectivement plus logique de l'appeler comme ça, mais du coup ça fait sauter les styles d'une version à l'autre...

 

 

J'espère n'avoir rien oublié et que cela peut vous être utile.

 

Bonne journée

 

(corrigé coquille dans mon post homslider => homeslider )

Edited by finarome (see edit history)
  • Like 1
Link to comment
Share on other sites

Merci Finarome pour ta solution, je vais essayé. 

 

J'avais utilisé une technique plus simple :  ré-installation de l'ancienne version (heureusement que je l'avais, lol). 

 

Et j'ai décidé de ne mettre aucun module à jour tant que je ne passe pas à la version 1.6. 

 

Bonne journée

Link to comment
Share on other sites

Effectivement la solution la plus simple/rapide et de remettre l'ancienne version et de ne pas mettre à jour avant que l'équipe Prestashop patchent ce bug.

 

En terme de fonctionnalités, je n'ai pas l'impression que la nouvelle version (1.2.7) apporte grand chose. Il me semble que c'est surtout une standardisation du module à l'approche modèle-vue-controleur.

 

Par contre si vous souhaitez migrer sous Presta 1.6 prochainement, l'ancienne version du module carrousel (1.2.2 pour moi) n'est pas totalement  compatible avec les personnalisations dans les thèmes car il fait sauter le css associé.

 

J'ai pour ma part sur un site déjà un Prestshop 1.6, j'ai seulement appliqué le point 4 de mon précédent post :

Dupliquer/renommer dans le dossier /themes/(votre theme)/css/modules/homeslider/ le fichier bx_style.css en homeslider.css

 

 

En espérant que ce bug soit rapidement corrigé.

Link to comment
Share on other sites

Visiblement l'équipe Prestashop a très rapidement corrigé ce bug en sortant une mise à jour (1.2.9).

 

Elle ne pose plus le problème lié au javascript qui faisait plante Smarty (addJsDef).

Le fichier /modules/homeslider/views/templates/hook/header.tpl a été changé.

 

Le seul problème qui peut persister, mais ce n'est plus un bug, est si vous avez personnalisé le css de ce module dans votre thème. Mais il suffit de le renommer en homeslider.css.

Link to comment
Share on other sites

Bonjour, 

 

moi j'ai ce message :

 

Fatal error: Call to undefined method HomeSlider::disableDevice() in /homez.800/lanutrit/www/modules/homeslider/homeslider.php on line 83
[PrestaShop] Fatal error in module homeslider:
Call to undefined method HomeSlider::disableDevice()

 

Suite à la MAJ en 1.2.9 du HomeSlider. J'ai un thème prestashop compatible en 1.5.6.

Suite à la MAJ , les images s'affichait les unes à la suite des autres je suis dépité la ^^.

 

Merci d'avance

Link to comment
Share on other sites

Bonjour Daminou56,

 

Pour la premiere erreur, effecivement cette ligne a été ajoutée dernièement. Elle fait appel à une methode "disableDevice" qu'on ne retrouve ni dans la classe, ni dans la classe parente dans Prestashop 1.5.6.2... Elle est sensée désactiver le module pour les mobiles et les tablettes. Elle n'est appelé par contre que pour l'installation du module, et ne devrait donc pas interférer ensuite.

 

Donc au pire, commentez la ligne 83 (en ajoutant // devant) :

// $this->disableDevice(Context::DEVICE_MOBILE);

Pour votre second problème, vérifiez dans votre thème contient si ces fichiers sont présents (ou un des deux) :

 

  1. Pour le template : /themes/(votre theme)/modules/homeslider/homeslider.tpl
  2. Pour le css : /themes/(votre theme)/css/modules/homeslider/bx_style.css

 

Si tel est le cas, votre thème prenait le pas sur le template et le css.

 

Dans ce cas :

  1. Dupliquer/déplacer votre fichier  homeslider.tpl  vers /themes/(votre theme)/modules/homeslider/views/templates/hook/   (créer les dossiers views/templates/hook au passage)
  2. Dupliquer/renommer dans le dossier /themes/(votre theme)/css/modules/homeslider/ le fichier bx_style.css en homeslider.css

 

Sinon la solution évoqué par Decoled de réinstaller l'ancienne version fonctionne également.

 

J'espère que cela vous aide, ainsi que tout ceux qui rencontrent ces mêmes petits désagéments lors de la mise à jour...

 

Bonne journée

Link to comment
Share on other sites

Merci pour l'aide je vais essayer.

 

Autre question j'ai essayer de passer en 1.6 mais le slide c'est désactiver et ne fonctionnais plus, je suis vite repasser en 1.5.

Une solution pour désactiver le module homeslider de mon template et laisse prestashop gérer.

 

En supprimant les fichiers homeslider du thème, les images se mettent les unes après les autres.

 

les mises à jour des modules de la 1.5.6 font les même bug que lorsuqu'on passe en 1.6.

Edited by Daminou56 (see edit history)
Link to comment
Share on other sites

Bonjour,
 
Pour faire fonctionner ce module homeslider sur la version de Prestshop 1.6 voici les fichiers du thème que j'ai au final :
 
1/Le Fichier tpl :

 

  • /themes/(votre theme)/modules/homeslider/views/templates/hook/homeslider.tpl

ou

  • /themes/(votre theme)/modules/homeslider/homeslider.tpl

à vous de choisir l'emplacement, car les 2 fonctionnent. Le premier est plus dans l'esprit MVC, l'autre est plus simple, mais pourrait devenir obsolète d'ici quelques versions.
 

<!-- Module HomeSlider -->
{if isset($homeslider_slides)}
<div  class="flexslider homeslider" style="max-width: {$homeslider.width}px; max-height:{$homeslider.height}px;" >
    <ul class="slides">
    {foreach from=$homeslider_slides item=slide}
        {if $slide.active}
        <li><a href="{$slide.url}" title="{$slide.description}"><img style="display:block" src="{$smarty.const._MODULE_DIR_}/homeslider/images/{$slide.image}" alt="{$slide.legend}" title="{$slide.description}" /></a></li>
        {/if}
    {/foreach}
    </ul>
</div>
{/if}

{if isset($homeslider)}
<script type="text/javascript">
$(window).load(function(){
     $('.homeslider').flexslider({
        animation: "slide",
        animationSpeed: {$homeslider.speed},
        slideshowSpeed: {$homeslider.pause},
        animationLoop: {if $homeslider.loop == 1}true {else}false{/if}
      });
});
</script>
{/if}
<!-- /Module HomeSlider -->

 
2/ le Fichier css :

  • /themes/(votre theme)/css/modules/homeslider/homeslider.css
/* ************************************************************************************************
        HomeSlider
************************************************************************************************ */
/* Browser Resets */
.flex-container a:active,.flexslider a:active,.flex-container a:focus,.flexslider a:focus  {outline: none;}
.slides,.flex-control-nav,.flex-direction-nav {margin: 0; padding: 0; list-style: none;}
/* FlexSlider Necessary Styles
*********************************/
.flexslider {margin: 0 auto; padding: 0; width:100%; min-height:300px;overflow: hidden;position: relative;zoom: 1}
.homeslider {margin: 0 0 15px;background: #fff;border: 4px solid #ccc;border-radius: 6px;box-shadow: 0 1px 4px rgba(0,0,0,.2);position: relative}
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {width: 100%; display: block;}
.flex-pauseplay span {text-transform: capitalize;}
/* Clearfix for the .slides element */
.slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
html[xmlns] .slides {display: block;}
* html .slides {height: 1%;}
/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child {display: block;}
/* FlexSlider Default Theme
*********************************/
.flex-viewport {max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease;}
.loading .flex-viewport {max-height: 300px;}
.flexslider .slides {zoom: 1;}
.carousel li {margin-right: 10px}
/* Direction Nav */
.flex-direction-nav {*height: 0;}
.flex-direction-nav a {width: 30px; height: 30px; margin: -10px 0 0; display: block; background: url(bg_direction_nav.png) no-repeat 0 0; position: absolute; top: 50%; z-index: 10; cursor: pointer; text-indent: -9999px; opacity: 0; -webkit-transition: all .3s ease;}
.flex-direction-nav .flex-next {background-position: 100% 0; right: -36px; }
.flex-direction-nav .flex-prev {left: -36px;}
.flexslider:hover .flex-next {opacity: 0.8; right: 5px;}
.flexslider:hover .flex-prev {opacity: 0.8; left: 5px;}
.flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover {opacity: 1;}
.flex-direction-nav .flex-disabled {opacity: .3!important; filter:alpha(opacity=30); cursor: default;}

/* Control Nav */
.flex-control-nav {width: 100%; position: absolute; bottom: 10px; text-align: center;}
.flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
.flex-control-paging li a {width: 11px; height: 11px; display: block; cursor: pointer; text-indent: -9999px; border-radius: 20px; box-shadow: inset 0 0 3px rgba(0,0,0,0.3); background-color: #ca6a40}
.flex-control-paging li a:hover, .flex-control-paging li a.flex-active {background-color: #FC0}
.flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
.flex-control-thumbs li {width: 25%; float: left; margin: 0;}
.flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
.flex-control-thumbs img:hover {opacity: 1;}
.flex-control-thumbs .flex-active {opacity: 1; cursor: default;}

@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev {opacity: 1; left: 0;}
  .flex-direction-nav .flex-next {opacity: 1; right: 0;}
}
.ie7 .bx-pager li {	float: left}
/*pager links hover and active states*/
.bx-pager .active {	background-color: #9dc0bc}

 
Pour finir il vous faudra mettre une image pour les fleches :
/themes/(votre theme)/css/modules/homeslider/bg_direction_nav.png

 

la voici :
bg_direction_nav.png

 

Vous pouvez soit adapter votre thème, soit reprendre ces fichiers tel quel puis les adapter au besoin.

 

J'espère que cela vous débloquera.

Link to comment
Share on other sites

Merci je garde ton post en réserve ^^j'ose plus tenter de repasser en 1.6 .

 

Le super développeur du thème acheter le 7 Mars refuse de faire une MAJ et propose de passer à l'autre thème identique de sa collection en payant ...

 

Pas pro du tout .

 

e-kreasite

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...