Maxime Bernard-Jacquet
Bonjour,
je vous propose un petit bout de code pour afficher une grande image dans une fenêtre modale (connu aussi sous le nom de lightbox) lors d'un clic sur un visuel d'une fiche produit, comme le font beaucoup de sites informatique.Démo ici :
http://www.amediastore.net/jeux/radio-commande/helicopteres/6407-helicoptere-telecommande-heli-mission-police.html
1. choisir un système de modale - lighbtox
Emajine fonctionne sous jquery, c'est parfait, il nous faut maintenant une libraire qui créé des fenêtres modales. Je vous conseille NyroModal : simple à personnaliser, simple à mettre en oeuvre, se redimensionne automatiquement si la modale est plus grande de base que l'écran.
http://nyromodal.nyrodev.com/
Si vous souhaitez tester d'autres systèmes de fenêtres modales, voici un article sur un comparateur de modales :
http://www.hightech-actu.fr/index.php?post/2009/03/comparatif-lighbox-%3A-Quelle-lightbox-choisir-choisir-pour-son-site
2. Charger la modale dans emajine
Il suffit d'appeler la bibliothèque (que vous aurez préalablement placé dans le dossier /scripts/ via FTP) dans MainPage.html, après l'appel de jquery :
il faudra également appeler le fichier css nyromodal et changer éventuellement les urls vers les images (bouton fermer et image chargement)
3. un peu de modifs dans les templates
la seule chose qu'a besoin nyroModal pour fonctionner, c'est une classe nyromodal sur les liens qui devront ouvrir l'image en grand
donc ajoutez class=nyromodal dans les balises a entourant les images concernées. exemple dans product_produit.html
4. rendre tout ça compatible emajine
il vous suffira de créer un petit script jquery de 5 lignes pour palier à tous les cas de figure :
vous pourrez le placer dans un fichier js à part ou dans la mainpage, au choix :
[Code]
$(document).ready(function() {
$('.nyroModal img').each (function(){
var url=$(this).attr("src");
url=url.replace('thumbnails/','');
$(this).parent().attr("href",url);
});
});
/code]
ce code va aller chercher la grosse image, au cas ou l'image affichée est la miniature, et va correctement mettre le lien direct vers l'image et pas vers une page zoom (comme le font les fiches produit)
Ce dernier code est de moi, c'est une version optimisée du code proposé ici :
http://communaute.medialibs.com/forum/topic-1198.html
Si vous avez des questions n'hésitez pas à me joindre.
Maxime [agence Dysign]
je vous propose un petit bout de code pour afficher une grande image dans une fenêtre modale (connu aussi sous le nom de lightbox) lors d'un clic sur un visuel d'une fiche produit, comme le font beaucoup de sites informatique.Démo ici :
http://www.amediastore.net/jeux/radio-commande/helicopteres/6407-helicoptere-telecommande-heli-mission-police.html
1. choisir un système de modale - lighbtox
Emajine fonctionne sous jquery, c'est parfait, il nous faut maintenant une libraire qui créé des fenêtres modales. Je vous conseille NyroModal : simple à personnaliser, simple à mettre en oeuvre, se redimensionne automatiquement si la modale est plus grande de base que l'écran.
http://nyromodal.nyrodev.com/
Si vous souhaitez tester d'autres systèmes de fenêtres modales, voici un article sur un comparateur de modales :
http://www.hightech-actu.fr/index.php?post/2009/03/comparatif-lighbox-%3A-Quelle-lightbox-choisir-choisir-pour-son-site
2. Charger la modale dans emajine
Il suffit d'appeler la bibliothèque (que vous aurez préalablement placé dans le dossier /scripts/ via FTP) dans MainPage.html, après l'appel de jquery :
il faudra également appeler le fichier css nyromodal et changer éventuellement les urls vers les images (bouton fermer et image chargement)
3. un peu de modifs dans les templates
la seule chose qu'a besoin nyroModal pour fonctionner, c'est une classe nyromodal sur les liens qui devront ouvrir l'image en grand
donc ajoutez class=nyromodal dans les balises a entourant les images concernées. exemple dans product_produit.html
4. rendre tout ça compatible emajine
il vous suffira de créer un petit script jquery de 5 lignes pour palier à tous les cas de figure :
vous pourrez le placer dans un fichier js à part ou dans la mainpage, au choix :
[Code]
$(document).ready(function() {
$('.nyroModal img').each (function(){
var url=$(this).attr("src");
url=url.replace('thumbnails/','');
$(this).parent().attr("href",url);
});
});
/code]
ce code va aller chercher la grosse image, au cas ou l'image affichée est la miniature, et va correctement mettre le lien direct vers l'image et pas vers une page zoom (comme le font les fiches produit)
Ce dernier code est de moi, c'est une version optimisée du code proposé ici :
http://communaute.medialibs.com/forum/topic-1198.html
Si vous avez des questions n'hésitez pas à me joindre.
Maxime [agence Dysign]