Jump to content

Correction d'un problème javascript sur ​​le zoom de jqzoom dans prestashop 1.5.4.1


Recommended Posts

Bonjour,

J'espère que je poste au bon endroit et que je ne fais pas de doublon, mais j'ai cherché la solution à ce problème pendant 1semaine et n'ai vu aucun sujet dans le forum qui donnait la solution.

Sur la page produit le zoom de jqzoom ne fonctionnait pas bien, en effet là où l'image aurait due être plus grande grâce à l'effet loupe, elle restait identique à l'image de gauche (elle affichait donc l'image : large_default au lieu de l'image: thickbox_default).

J'ai trouvé trois petites erreurs dans mon fichier product.js et en les corrigeant tout fonctionne. Il suffisait d'ajouter du code à deux endroits et d'en modifier à un autre. Je ne sais pas si c'est un problème général ou pas pour cette version de prestashop, mais je préfère partager ma solution si ça peut en aider d'autres...

J'ai ajouté du code aux lignes 425 et 428 
Ancien code: 

                                                if ($('#bigpic').attr('src') != newSrc)		
                        {
Ligne 425 --->		$('#bigpic').attr('src', newSrc);
			if (typeof(jqZoomEnabled) != 'undefined' && jqZoomEnabled)
Ligne 427 --->	  $('#bigpic').attr('rel', domAAroundImgThumb.attr('href'));
		}
		$('#views_block li a').removeClass('shown');
Nouveau code:
                if ($('#bigpic').attr('src') != newSrc)
		{
Ligne 425 --->		$('#bigpic').attr('src', newSrc).load(function() {
			if (typeof(jqZoomEnabled) != 'undefined' && jqZoomEnabled)
			$('#bigpic').attr('rel', domAAroundImgThumb.attr('href'));
Ligne 428 --->       }); 
		}
		$('#views_block li a').removeClass('shown');

(pour la ligne 428, je ne suis pas sûre qu'il soit indispensable d'ajouter les }); mais quand j'ai eu réglé les deux premiers problèmes ça ne fonctionnait pas et c'est en les ajoutant que tout a ensuite fonctionné  :blink: )
 

Et j'ai échangé les places de thickbox et large :
Ancien code:

//set jqZoom parameters if needed
    if (typeof(jqZoomEnabled) != 'undefined' && jqZoomEnabled)
    {
Ligne 531 --->     $('#bigpic').attr('rel', $('#bigpic').attr('src').replace('thickbox', 'large'));
        $('img.jqzoom').jqueryzoom({
Nouveau code:
//set jqZoom parameters if needed
	if (typeof(jqZoomEnabled) != 'undefined' && jqZoomEnabled)
	{
Ligne 532 --->	   $('#bigpic').attr('rel', $('#bigpic').attr('src').replace('large', 'thickbox'));
		$('img.jqzoom').jqueryzoom({
			

Je tiens à préciser que je ne m'y connais pas du tout en javascript et que c'est en comparant mon fichier product.js avec celui d'une ancienne version de prestashop que j'ai fini par voir où était le problème. Aussi, ne me demandez surtout pas d'expliquer  le code, car mis à part l'inversion de large et thickbox je n'y vois aucune logique  :huh: 

Voilà ! J'espère que ça pourra aider quelqu'un  :) .

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

  • 4 months later...

Bonjour,

 

Pour ceux qui avec jqZoom souffriraient d'un effet "zoom" qui n'affiche que l'image par défaut (en cas de photos multiples), la solution (testée) est de faire une petite modification dans le dossier de votre thème le fichier js/product.js.

 

Y rechercher :

$(this).prop('rel', new_href);

à remplacer par :

$("#bigpic").attr('rel', new_href);

(source originale)

 

Dites-moi si cela fonctionne pour vous !

 

Cordialement,

Pascal

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

  • 1 year later...

Bonjour,

Je me permet de relancer ce topic car je rencontre exactement le même problème. J'ai comparé le fichier product.js avec vos modifications et tout est à l'identique.

Je suis sous prestashop 1.5.1.

Voici un exemple de fiche produit où le jqzoom ne fonctionne pas : http://www.aerobatix.fr/fr/veste-blouson-cuir-aviateur/16-mermoz.html

Quelqu'un aurait - il une solution?

Merci d'avance.

Vincent

Link to comment
Share on other sites

Bonjour Vinzer,

 

Le lien pointait vers une 404. J'ai retrouvé l'article 16 sur votre site. Plus qu'un souci avec jqZoom, il semble que ce soit dans votre cas un problème de taille de l'image zoomée (l'image en vignette et celle zoomée semblent avoir la même dimension). Il faudrait que l'image zoomée soit plus grande que celle de la vignette.

 

Vérifiez d'abord les dimensions de vos images (régénérez-les si nécessaire) et dites-moi si le souci est résolu.

 

Salutations.

 

Pascal

Link to comment
Share on other sites

Bonjour Frommarcq,

 

Merci beaucoup pour votre réponse rapide. J'ai effectivement pensé à ce problème.

Vous trouverez ci-joint la configuration des images dans l'admin.

J'ai regénéré les miniatures de la thickbox_default mais sans succès...

Merci pour votre aide

 

post-833547-0-69647300-1427386721_thumb.png

Link to comment
Share on other sites

Vinzer,

 

Mon hack concernait un souci qui n'affichait dans le zoom que l'image par défaut (y compris lorsque les photos "secondaires" étaient affichées).

 

Donc pas trop de rapport avec le problème que vous rencontrez...

 

Votre problème ressemble plus à un souci de ce type.

 

Cordialement,

 

Pascal

 

PS : J'ai remarqué une erreur 404 dans vos CSS par Firebug

"NetworkError: 404 Not Found - http://www.aerobatix.fr/modules/aerobatixnewsletter/aerobatixnewsletter.css"
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...