gyllom Posted June 30, 2014 Share Posted June 30, 2014 Bonjour, Je me tourne vers vous car je ne trouve pas la solution à mon problème. Je ne suis pas sur d'avoir posté au bon endroit.. dsl d'avance.Je dois effectuer quelques modifications sur la boutique prestashop d'un ami et devant mettre les mains dans le camboui j'ai pas envie de tout chambouler... Je souhaite utiliser JqZoom pour effectuer un zoom produit seulement il utilise un thème prédéfini qui à mon avis bloque JqZoom par un zoom intégré au thème.Le thème utilisé est nommé thème474.Dans mon dossier thème j'ai un fichier plugintheme.js qui mentionne dedans un zoom. Par contre je ne sais pas comment modifier mes fichiers pour ne plus prendre en compte le zoom par défaut du thème et le remplacer par JqZoom, le zoom défaut de prestashop. Voici le contenu du fichier plugintheme.js situé dans themes/theme474/js/ function($){$(document).ready(function(){$('.cloud-zoom, .cloud-zoom-gallery').CloudZoom();}); function format(str){for(var i=1;i<arguments.length;i++){str=str.replace('%'+(i-1),arguments[i]);} return str;} function CloudZoom(jWin,opts){var sImg=$('img',jWin); var img1; var img2; var zoomDiv=null; var $mouseTrap=null; var lens=null; var $tint=null; var softFocus=null; var $ie6Fix=null; var zoomImage; var controlTimer=0; var cw,ch; var destU=0; var destV=0; var currV=0; var currU=0; var filesLoaded=0; var mx,my; var ctx=this,zw; setTimeout(function(){if($mouseTrap===null){var w=jWin.width(); jWin.parent().append(format('<div style="width:%0px;position:absolute;top:75%;left:%1px;text-align:center" class="cloud-zoom-loading" >Loading...</div>',w/3,(w/2)-(w/6))).find(':last').css('opacity',0.5);[spam-filter],200); var ie6FixRemove=function(){if($ie6Fix!==null){$ie6Fix.remove();$ie6Fix=null;[spam-filter]; this.removeBits=function(){if(lens){lens.remove(); lens=null;};if($tint){$tint.remove(); $tint=null;}; if(softFocus){softFocus.remove(); softFocus=null;}; ie6FixRemove(); $('.cloud-zoom-loading',jWin.parent()).remove();}; this.destroy=function(){jWin.data('zoom',null); if($mouseTrap){$mouseTrap.unbind(); $mouseTrap.remove(); $mouseTrap=null;}; if(zoomDiv){zoomDiv.remove(); zoomDiv=null;}; this.removeBits();}; this.fadedOut=function(){if(zoomDiv){zoomDiv.remove(); zoomDiv=null;}; this.removeBits();}; this.controlLoop=function(){if(lens){var x=(mx-sImg.offset().left-(cw*0.5))>>0; var y=(my-sImg.offset().top-(ch*0.5))>>0; if(x<0){x=0;}else if(x>(sImg.outerWidth()-cw)){x=(sImg.outerWidth()-cw);} if(y<0){y=0;}else if(y>(sImg.outerHeight()-ch)){y=(sImg.outerHeight()-ch);} lens.css({left:x,top:y}); lens.css('background-position',(-x)+'px '+(-y)+'px'); destU=(((x)/sImg.outerWidth())*zoomImage.width)>>0;destV=(((y)/sImg.outerHeight())*zoomImage.height)>>0; currU+=(destU-currU)/opts.smoothMove;currV+=(destV-currV)/opts.smoothMove; zoomDiv.css('background-position',(-(currU>>0)+'px ')+(-(currV>>0)+'px'));} controlTimer=setTimeout(function(){ctx.controlLoop();},30);}; this.init2=function(img,id){filesLoaded++; if(id===1){zoomImage=img;} if(filesLoaded===2){this.init();[spam-filter]; this.init=function(){$('.cloud-zoom-loading',jWin.parent()).remove(); $mouseTrap=jWin.parent().append(format("<div class='mousetrap' style='background-image:url(\".\");z-index:999;position:absolute;width:%0px;height:%1px;left:%2px;top:%3px;\'></div>",sImg.outerWidth(),sImg.outerHeight(),0,0)).find(':last'); var touchy=("ontouchstart"in document.documentElement)?true:false; var m_move='touchmove mousemove'; var m_end='touchend mouseleave'; var m_ent='touchstart mouseenter'; var m_click='click'; $mouseTrap.bind(m_move,this,function(e){mx=(typeof(e.originalEvent.touches)!='undefined')?e.originalEvent.touches[0].pageX:e.pageX;my=(typeof(e.originalEvent.touches)!='undefined')?e.originalEvent.touches[0].pageY:e.pageY;});$mouseTrap.bind(m_end,this,function(event){clearTimeout(controlTimer); if(lens){lens.fadeOut(299);} if($tint){$tint.fadeOut(299);} if(softFocus){softFocus.fadeOut(299);} zoomDiv.fadeOut(300,function(){ctx.fadedOut(); if($mouseTrap!=null)$mouseTrap.css("z-index","auto");}); return false;}); $mouseTrap.bind(m_ent,this,function(event){$mouseTrap.css("z-index","999"); if(touchy){event.preventDefault();} mx=(typeof(event.originalEvent.touches)!='undefined')?event.originalEvent.touches[0].pageX:event.pageX; my=(typeof(event.originalEvent.touches)!='undefined')?event.originalEvent.touches[0].pageY:event.pageY; zw=event.data; if(zoomDiv){zoomDiv.stop(true,false);zoomDiv.remove();} var xPos=opts.adjustX,yPos=opts.adjustY; var siw=sImg.outerWidth(); var sih=sImg.outerHeight(); var w=opts.zoomWidth; var h=opts.zoomHeight; if(opts.zoomWidth=='auto'){w=siw;} if(opts.zoomHeight=='auto'){h=sih;} var appendTo=jWin.parent(); switch(opts.position) {case'top':yPos-=h;break; case'right':xPos+=siw;break; case'bottom':yPos+=sih;break; case'left':xPos-=w;break; case'inside':w=siw;h=sih;break; default:appendTo=$('#'+opts.position); if(!appendTo.length){appendTo=jWin;xPos+=siw;yPos+=sih;} else{w=appendTo.innerWidth(); h=appendTo.innerHeight();[spam-filter] zoomDiv=appendTo.append(format('<div id="cloud-zoom-big" class="cloud-zoom-big" style="display:none;position:absolute;left:%0px;top:%1px;width:304px;height:388px;background-image:url(\'%4\');z-index:99;"></div>',xPos,yPos,w,h,zoomImage.src)).find(':last'); if(sImg.attr('title')&&opts.showTitle){zoomDiv.append(format('<div class="cloud-zoom-title">%0</div>',sImg.attr('title'))).find(':last').css('opacity',opts.titleOpacity);} if($.browser.msie&&$.browser.version<7) {$ie6Fix=$('<iframe frameborder="0" src="#"></iframe>').css({position:"absolute",left:xPos,top:yPos,zIndex:0});} zoomDiv.fadeIn(500); if(lens){lens.remove(); lens=null;} cw=(sImg.outerWidth()/zoomImage.width)*zoomDiv.width();ch=(sImg.outerHeight()/zoomImage.height)*zoomDiv.height(); lens=jWin.append(format("<div class = 'cloud-zoom-lens' style='display:none;z-index:98;position:absolute;width:%0px;height:%1px;'></div>",cw,ch)).find(':last'); $mouseTrap.css('cursor',lens.css('cursor')); var noTrans=false; if(opts.tint){lens.css('background','url("'+sImg.attr('src')+'")'); $tint=jWin.append(format('<div style="display:none;position:absolute; left:0px; top:0px; width:%0px; height:%1px; background-color:%2;" />',sImg.outerWidth(),sImg.outerHeight(),opts.tint)).find(':last'); $tint.css('opacity',opts.tintOpacity); noTrans=true; $tint.fadeIn(500);} if(opts.softFocus){lens.css('background','url("'+sImg.attr('src')+'")'); softFocus=jWin.append(format('<div style="position:absolute;display:none;top:2px; left:2px; width:%0px; height:%1px;" />',sImg.outerWidth()-2,sImg.outerHeight()-2,opts.tint)).find(':last'); softFocus.css('background','url("'+sImg.attr('src')+'")'); softFocus.css('opacity',0.5); noTrans=true; softFocus.fadeIn(500);} if(!noTrans){lens.css('opacity',opts.lensOpacity);} if(opts.position!=='inside'){lens.fadeIn(500);}zw.controlLoop(); return;});}; img1=new Image(); $(img1).load(function(){ctx.init2(this,0);}); img1.src=sImg.attr('src'); img2=new Image();$(img2).load(function(){ctx.init2(this,1);}); img2.src=jWin.attr('href');} $.fn.CloudZoom=function(options){try{document.execCommand("BackgroundImageCache",false,true);} catch(e){}this.each(function(){var relOpts,opts;eval('var a = {'+$(this).attr('rel')+'}'); relOpts=a; if($(this).is('.cloud-zoom')){$(this).css({'position':'relative','display':'block'}); $('img',$(this)).css({'display':'block'}); if($(this).parent().attr('id')!='wrap'){$(this).wrap('<div id="wrap" style="top:0px;z-index:auto;position:relative;"></div>');} opts=$.extend({},$.fn.CloudZoom.defaults,options); opts=$.extend({},opts,relOpts); $(this).data('zoom',new CloudZoom($(this),opts));} else if($(this).is('.cloud-zoom-gallery')){opts=$.extend({},relOpts,options); $(this).data('relOpts',opts); var m_click='click'; $(this).bind(m_click,$(this),function(event){var data=event.data.data('relOpts'); $('#'+data.useZoom).data('zoom').destroy(); $('#'+data.useZoom).attr('href',event.data.attr('href')); $('#'+data.useZoom+' img').attr('src',event.data.data('relOpts').smallImage); $('#'+event.data.data('relOpts').useZoom).CloudZoom(); return false;});[spam-filter]); return this;}; $.fn.CloudZoom.defaults={zoomWidth:106,zoomHeight:106,position:'right',tint:false,tintOpacity:0.5,lensOpacity:0.5,softFocus:false,smoothMove:3,showTitle:true,titleOpacity:0.5,adjustX:0,adjustY:0};})(jQuery); Merci à vous ! Guillaume 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