Jump to content

mon lien sur l'image ne fonctionne pas


sandgirl
 Share

Recommended Posts

bonjour,

voici mon souci j'utilise le module jgalleryview2 et mon souci est que je souhaiterai avoir le même lien qu'il y a sur le titre directement sur l'image. voilà le code que j'ai mis {if $my_item->url}{/if}<a href="{$my_item->url}">{if $my_item->img}<img src="{$module_dir}{$my_item->img}" alt="{$smarty.foreach.loop.index}"/>{/if}</img>{if $my_item->url}</a>{/if}

mais ça ne marche pas :(

Pourtant si je regarde le code de ma page web je vois bien le code du lien.

<a href="category.php?id_category=82"><img src="/prestashop/modules/jgalleryview2/slides/slide2.jpg" alt="2"/></img></a>

Quelqu'un saurait pour quelle raison cela ne fonctionne pas ?

merci d'avance pour votre aide.

Share this post


Link to post
Share on other sites

Bonsoir,

 

Utilise les balises "code" pour que cela soit plus clair à lire pour nous :)

 

Sinon il y a un {/if} mal placé dans ton code, peut-être que cela vient de là, malgré que j'en doute.

Voilà à quoi ton code devrait ressembler :

 

{if $my_item->url}<a href="{$my_item->url}">{/if}{if $my_item->img}<img src="{$module_dir}{$my_item->img}" alt="{$smarty.foreach.loop.index}"/>{/if}</img>{if $my_item->url}</a>{/if}

 

Si cela ne marche pas, dans l'idéal il faudrait l'url de ton site pour aller voir directement le souci.

Share this post


Link to post
Share on other sites

bonjour,

 

Merci pour la réponse mais hélas comme tu le pensais ça ne fonctionne pas.

 

j'ai mis ton code (cette fois ci je pense l'avoir inséré correctement ;) )

{if $my_item->url}<a href="{$my_item->url}">{/if}{if $my_item->img}<img src="{$module_dir}{$my_item->img}" alt="{$smarty.foreach.loop.index}"/>{/if}</img>{if $my_item->url}</a>{/if}

mais aucun changement, et comme pour mon code on voit aussi le lien dans le code de la page web.....

<li>
 <a href="product.php?id_product=88"><img src="/prestashop/modules/jgalleryview2/slides/slide0.jpg" alt="0"/></img></a> 

Je ne peux pas mettre vous mettre un lien car je travaille actuellement en local...

Merci pour votre aide.

bonne journée

Share this post


Link to post
Share on other sites

Salut,

 

En fait il y a un autre {/if} mal placé que je n'avais pas remarqué lol

 

Je ne pense toujours pas que cela réglera le souci mais bon :

 

{if $my_item->url}<a href="{$my_item->url}">{/if}{if $my_item->img}<img src="{$module_dir}{$my_item->img}" alt="{$smarty.foreach.loop.index}"/></img>{/if}{if $my_item->url}</a>{/if}

 

Le mieux serait d'attendre que tu mette ton site en ligne pour que je puisse aller voir, j'aurai plus de facilité à repérer le problème.

Share this post


Link to post
Share on other sites

  • 1 month later...

Bonjour,

 

Le code de Divine fonctionne très bien sur les vignettes et pas sur l'image principale.

 

Si quelqu'un peut aider pour adapter le code à l'image principale qui est appelée dans data.xml:

 

<title_2>Annonce 2</title_2>
<text_2>FR Horum dictorum rationem cogitanti mihi non satis</text_2>
<url>product.php?id_product=2</url>
<img>slides/slide1.jpg</img>

 

Salut,

En fait il y a un autre {/if} mal placé que je n'avais pas remarqué lol

Je ne pense toujours pas que cela réglera le souci mais bon :

{if $my_item->url}<a href="{$my_item->url}">{/if}{if $my_item->img}<img src="{$module_dir}{$my_item->img}" alt="{$smarty.foreach.loop.index}"/></img>{/if}{if $my_item->url}</a>{/if}

Le mieux serait d'attendre que tu mette ton site en ligne pour que je puisse aller voir, j'aurai plus de facilité à repérer le problème.

Share this post


Link to post
Share on other sites

Voila le code:

 

<ul id="gallery">
           {foreach from=$xml->item item=my_item name=loop}                
           <li>                
               {if $my_item->img}<img src="{$module_dir}{$my_item->img}" alt="{$smarty.foreach.loop.index}" />{/if}    
               <div class="panel-overlay">
                   {if $my_item->$title}
                   <h3>
                       {if $my_item->url}<a href="{$my_item->url}">{/if}
                       {$my_item->$title}
                       {if $my_item->url}</a>{/if}
                   </h3>
                   {/if}
                   {if $my_item->$text}<p>{$my_item->$text}</p>{/if}
               </div>
           </li>
           {/foreach}
       </ul>

 

Grapileom, il faudrait le bout de code qui appelle l'image principale dont tu parles dans le fichier tpl du module.

Share this post


Link to post
Share on other sites

Donc en toute logique il faut faire comme ça :

 

<ul id="gallery">
		{foreach from=$xml->item item=my_item name=loop}			  
		<li>			  
			 {if $my_item->url}<a href="{$my_item->url}">{/if}{if $my_item->img}<img src="{$module_dir}{$my_item->img}" alt="{$smarty.foreach.loop.index}" />{/if}{if $my_item->url}</a>{/if}  
			<div class="panel-overlay">
				{if $my_item->$title}
				<h3>
					{if $my_item->url}<a href="{$my_item->url}">{/if}
					{$my_item->$title}
					{if $my_item->url}</a>{/if}
				</h3>
				{/if}
				{if $my_item->$text}<p>{$my_item->$text}</p>{/if}
			</div>
		</li>
		{/foreach}
	</ul>

Share this post


Link to post
Share on other sites

bonsoir tout le monde,

 

Merci de relancer ce post car mon problème n'est toujours pas réglé, mais j'avoue l'avoir un peu mis de coté. Alors, après avoir testé le code de graphileom je peux dire que celui-ci ne fonctionne pas. Sinon Divine j'ai essayé ton code ben... désolé mais ça ne fonctionne pas.... ça fait comme le mien on voit le lien dans la source de la page, mais ça ne fonctionne pas....

je me demande si il n'y a pas un lien avec le javascript.

N'hésitez pas à me faire des propositions, je suis prête à tout tester

 

Merci pour votre aide

Share this post


Link to post
Share on other sites

Sandgirl,

Le code n'est pas mon code, c'est tout simplement un copier/coller du code d'origine du fichier jgalleryview2.tpl et il fonctionne très bien.

 

Divine,

Ton code aussi fonctionne très bien, mais toujours pareil, le lien se mets sur les vignettes et pas sur l'image principale. L'image principale est appelé via le data.xml :

 

<item>
       <title_1>Ads 1</title_1>
       <title_2>Annonce 1</title_2>
       <text_1>EN Horum dictorum ...</text_1>
       <text_2>FR Horum dictorum ...</text_2>
       <img>slides/slide0.jpg</img>
   </item>

Share this post


Link to post
Share on other sites

graphileom je ne comprends pas bien ce que tu veux dire. Je suis d'accord il fonctionne sur les vignettes mais ce n'est pas ce que je souhaite. Je souhaiterai que ce soit sur la grande image et c'est là le problème. Le lien je le vois bien dans le code source de la page, ce qui voudrait dire que le code est bon mais quand je mets ma souris il n'y a rien qu'y se passe.

Dois-je faire quelque chose via le fichier xlm ?

Share this post


Link to post
Share on other sites

  • 6 months later...

Bonjour,

Si vous avez trouvé une solution, je suis intéressé!

J'ai le même problème, j'ai essayé une solution proche de celle de Divine, mais comme indiqué précédement, ca ne met les liens que sur les vignettes...

Donc, si quelqu'un a une solution, vous êtes les bienvenu! ^^

Share this post


Link to post
Share on other sites

J'ai trouvé une solution...

Je n'utilise pas les textes, alors j'ai agrandis l'overlay, enlever l'affichage des textes et ajouté un block span sur le quel j'ai mis le lien.

 

jgalerieview2.tpl :

 

Pour agrandir l'overlay (ligne 10):

overlay_height: 205 //Height of panel overlay

 

 

Pour mettre le lien et enlever les textes (débute vers ligne 38):

    <div class="panel-overlay">
   <a class="panel-overlay-link" href="{$my_item->url}"><span style="width:539; height:205; display:block;"><br><br><br><br><br><br><br><br><br><br><br><br><br></span></a>
   {* {if $my_item->$title}
 <h3>
  {if $my_item->url}<a href="{$my_item->url}">{/if}
  {$my_item->$title}
  {if $my_item->url}</a>{/if}
 </h3>
 {/if}
 {if $my_item->$text}<p>{$my_item->$text}</p>{/if}
   *}
   </div>

 

 

Ah, j'ai faillis oublié... il faut aussi rendre l'overlay complètement transparant:

Ligne 16 du même fichier:

overlay_opacity: 0

 

 

Bien à vous

Share this post


Link to post
Share on other sites

  • 2 weeks later...

Perso je pense que la gallery Jquery quand elle est initialisée, ne tient pas compte du lien dans le template.

 

J'ai ajouté le lien sur le titre dans le template (jqueryvieww2.tpl - ligne 57 ), cela me convient :

 

title="{if $my_item->$title}{if $my_item->url}<a href='{$my_item->url}'>{/if}{$my_item->$title}{if $my_item->url}</a>{/if}{/if}"

 

Possible de le faire aussi sur la description, ligne suivante :

 

data-description="{if $my_item->$text}{if $my_item->url}<a href='{$my_item->url}'>{/if}{$my_item->$text}{if $my_item->url}</a>{/if}{/if}"

 

 

Par contre évidememnt il doit y avoir un titre ou une description ! Sinon la méthode au dessus de mahusbestofplus semble bonne

Edited by Arthur8 (see edit history)

Share this post


Link to post
Share on other sites

  • 3 weeks later...

Bonjour à tous,

 

ayant trouvé la solution je relaie :

Editer le fichier jgaleryview2.tpl.

Trouver la ligne contenant :

<h3>
{if $my_item->url}<a href="{$my_item->url}">{/if}

Remplacer par

<h3>
{if $my_item->url}<a href="{$my_item->url}" class="panel-overlay-link">{/if}

(on donne simplement une class a la balise <a> contenant le lien.)

 

puis on ajoute les lignes suivantes :

$('.panel').each(function(){
var href=$(this).find('.panel-overlay .panel-overlay-link').attr('href');
$(this).find('img').wrap('<a href="'+href+'"></a>');
});

 

 ,pause_on_hover:	  true //If true, animations will pause when the mouse hovers over the panel (requires 500ms hover to pause)
});
//   ici ligne 28 si vous n'avez rien changé au code


});
{/literal}

 

Voilà c'est tout :)

Share this post


Link to post
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
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More