Bonjour
J'ai intégré une image dans mon site et elle apparaît bien. Je voulais (l'impossible bien sûr) "mapper" cette image de manière à ouvrir plusieurs liens depuis cette image. (je connais le code html pour une page html normale, mais dans piwigo.....)
BF
Dernière modification par fichben (2009-09-23 16:02:19)
Hors ligne
Rien n'a vraiment été fait pour proposer une "map" adaptée à chaque image.
Un vrai plugin serait une très bonne idée.
;-)
Hors ligne
j'étais sur le point de donner une réponse en plugin personnel, mais je constate que les plugins personnels ne fonctionnent plus !?
j'ai loupé quelque chose ?? ^^;
Hors ligne
???
Ils fonctionnent très bien.
Hors ligne
vi...
je suis un boulet, j'avais pas pensé à activer le plugin personnel ;))
Hors ligne
la première chose à faire, c'est de préparer un template personnel, copie de picture_content.tpl
actuellement on y trouve :
{if isset($high) } <a href="javascript:phpWGOpenWindow('{$high.U_HIGH}','{$high.UUID}','scrollbars=yes,toolbar=no,status=no,resizable=yes')"> {/if} <img src="{$SRC_IMG}" style="width:{$WIDTH_IMG}px;height:{$HEIGHT_IMG}px;" alt="{$ALT_IMG}" {if isset($COMMENT_IMG)} title="{$COMMENT_IMG|@strip_tags:false|@replace:'"':' '}" {else} title="{$current.TITLE|@replace:'"':' '} - {$ALT_IMG}" {/if}> {if isset($high) } </a> <p>{'picture_high'|@translate}</p> {/if}
Trois choses à modifier :
- la gestion des images HD, à désactiver si présence d'une map
- ajouter la map
- affecter la map sur la balise <img>
En partant de l'idée que nous avons une variable $IMGMAP qui dispose du contenu de la balise <map>
Exemple:
<A href="guide.html" shape="rect" coords="0,0,118,28">Access Guide</a> | <A href="shortcut.html" shape="rect" coords="118,0,184,28">Go</A> | <A href="search.html" shape="circle" coords="184,200,60">Search</A> | <A href="top10.html" shape="poly" coords="276,0,276,28,100,200,50,50,276,0">Top Ten</A>
ton template personnel my-picture_content.tpl devient :
{if isset($high) and !isset($IMGMAP) } <a href="javascript:phpWGOpenWindow('{$high.U_HIGH}','{$high.UUID}','scrollbars=yes,toolbar=no,status=no,resizable=yes')"> {/if} {if isset($IMGMAP)} <map name="imgmap"> {$IMGMAP} </map> {/if} <img src="{$SRC_IMG}" style="width:{$WIDTH_IMG}px;height:{$HEIGHT_IMG}px;" alt="{$ALT_IMG}" {if isset($IMGMAP)} usemap="#imgmap" {/if} {if isset($COMMENT_IMG)} title="{$COMMENT_IMG|@strip_tags:false|@replace:'"':' '}" {else} title="{$current.TITLE|@replace:'"':' '} - {$ALT_IMG}" {/if}> {if isset($high) } </a> <p>{'picture_high'|@translate}</p> {/if}
voilà pour la première partie.
Reste à alimenter $IMGMAP, et pour çà il va falloir un plugin personnel.
Le code suivant va te rajouter une map sur l'image 2213.
Le test sur le numéro de l'image ainsi que la map sont ici codé en dur, à toi de voir comment adapter çà à ton besoin ;)
/* Plugin Name: ImageMap Version: 1.0 Description: Ajoute une map sur une image précise Plugin URI: http://piwigo.org Author: Author URI: */ add_event_handler('render_element_content', 'manage_image_map', EVENT_HANDLER_PRIORITY_NEUTRAL-10, 2); function manage_image_map($content, $element_info) { global $template; if($element_info['id']==2213) { $template->assign('IMGMAP' , "<A href='guide.html' shape='rect' coords='0,0,118,28'>Access Guide</a> | <A href='shortcut.html' shape='rect' coords='118,0,184,28'>Go</A>", false); } }
Hors ligne
et ne soit pas comme moi un gros boulet : penses à aller activer le plugin personnel dans les plugins... ^^;
Hors ligne
heu et mettre le code php dans le template ?
enfin je ne sais pas si c'est conseillé mais ça a le mérite d'être plus simple (on n'oublie pas d'activer ^^ )
Hors ligne
flop25 a écrit:
heu et mettre le code php dans le template ?
enfin je ne sais pas si c'est conseillé mais ça a le mérite d'être plus simple (on n'oublie pas d'activer ^^ )
c'est une solution, mais je ne suis pas certain que çà soit la plus élégante :o)
même si çà fonctionne, le php dans le template n'est à réserver que pour les cas extrèmes ou très particuliers, le principe du template étant justement de séparer le code de la mise en page...
Hors ligne
grum a écrit:
flop25 a écrit:
heu et mettre le code php dans le template ?
enfin je ne sais pas si c'est conseillé mais ça a le mérite d'être plus simple (on n'oublie pas d'activer ^^ )c'est une solution, mais je ne suis pas certain que çà soit la plus élégante :o)
même si çà fonctionne, le php dans le template n'est à réserver que pour les cas extrèmes ou très particuliers, le principe du template étant justement de séparer le code de la mise en page...
il est vrai que smarty déconseille sur leur manuel
Hors ligne
Heuuuu...
Il y a un rapport avec Google Eath/MAP ou bien je me plante de sujet ???
Hors ligne
Gotcha a écrit:
Heuuuu...
Il y a un rapport avec Google Eath/MAP ou bien je me plante de sujet ???
Un petit lien a lire
C'est le premier dans google et tu aura ta réponse -;)
Edit : ce liens la partie Les images réactives ("images MAP") me parais mieux expliqué
Hors ligne
Merci ddtddt,
Il fallait le dire tout de suite que c'était pour faire ce genre de chose:
http://www.modusoptimus.com/pwg/index/c … t-usa-2005
Oui le site de rvelices reste un modèle (l).
Hors ligne
C'est super, ça marche, mais un petit souci: je n'ai pas trouvé où mettre le code pour le template, alors j'ai collé dans <<picture_content.tpl>>, je sais, c'est pas bien....
Et puis, si ce plugin de MAP devait être plus développé, il faudrait qu'il soit compatible avec cet autre très beau plug-in:<< Look_like_Gbo 2>>, j'ai été obligé de le désinstaller pour mapper mon image.
Voir ici (ce n'est pas encore fini)
http://www.cartocassini.org/galerie/pic … tegory/326
Hors ligne
[hs] Jolie thème que je ne connais pas, si c'est toi qui l'a fait n'hésite pas à le partager dans les Extensions ;-) [/hs]
Hors ligne