Pour que les images soient visibles entièrement même sur un petit écran, sans avoir à scroller, j'ai du modifier la présentation de celles-ci, pour obtenir ceci (cliquez pour agrandir):
Donc rien au dessus de l'image, et le maximum de fonctions dans la partie droite. Concernant les champs visibles, nous avons:
- Place de la mairie = name
- Aix = comment
- Auteur = author
- Prise le = date_creation
- Categories, Visites, Note moyenne = standard
Vient ensuite le tableau des EXIF (caché par défaut)
Les boutons en dessous sont ici en mode administrateur.
Cela permet par ailleurs de naviguer rapidement entre les images: le bouton "next" est toujours au même endroit quelle que soit l'image. Le scrolling est seulement nécessaire quand on veut laisser un commentaire (ce qui pourrait être amélioré aussi)
Voici en vrac mes modifications:
Pas de bannière:
picture.php, ligne 35 (après check status)
$page['page_banner']="";
On parle toujours de "Note", pas de "Vote":
language\fr_FR.iso-8859-1\common.lang.php
$lang['new_rate'] = 'Notez cette photo'; $lang['update_rate'] = 'Changez votre note';
Et pour finir, mes modifications du template et de la feuille de style
template/yoga/picture.tpl (contient mes modifs indiqués dans mes précédents posts)
<!-- BEGIN information --> <div class="pleaseNote">{information.INFORMATION}</div> <!-- END information --> <a href="{U_HOME}" rel="home"></a> <script type="text/javascript"> var id_exifs = 'show_exifs'; function getCookieVal(offset) { var endstr=document.cookie.indexOf (";", offset); if (endstr==-1) endstr=document.cookie.length; return unescape(document.cookie.substring(offset, endstr)); } function LireCookie(nom) { var arg=nom+"="; var alen=arg.length; var clen=document.cookie.length; var i=0; while (i<clen) { var j=i+alen; if (document.cookie.substring(i, j)==arg) return getCookieVal(j); i=document.cookie.indexOf(" ",i)+1; if (i==0) break; } return null; } function EcrireCookie(nom, valeur) { var argv=EcrireCookie.arguments; var argc=EcrireCookie.arguments.length; var expires=(argc > 2) ? argv[2] : null; var path=(argc > 3) ? argv[3] : null; var domain=(argc > 4) ? argv[4] : null; var secure=(argc > 5) ? argv[5] : false; var coo = nom+"="+escape(valeur)+ ((expires==null) ? "" : ("; expires="+expires.toGMTString()))+ ((path==null) ? "" : ("; path="+path))+ ((domain==null) ? "" : ("; domain="+domain))+ ((secure==true) ? "; secure" : ""); document.cookie = coo ; } // show/hide the element 'id' and store the visibility in a cooky function show_hide(id) { var element = document.getElementById(id); element.style.visibility = element.style.visibility == 'hidden' ? 'visible' : 'hidden'; date=new Date; date.setFullYear(date.getFullYear()+10); EcrireCookie(id, element.style.visibility, date); } </script> <div style="position: relative; width: 100%"> <div id="phRight" style="position: relative; float: right; right: 0; top: 0; width: 22em; font-size: 82%; height: 546px;"> <div class="browsePath" style="width: 100%; text-align: center"> <a href="{U_HOME}" rel="home">{L_HOME}</a> {LEVEL_SEPARATOR}{SECTION_TITLE} </div> <br> <div class="navButtons" style="width: 100%; text-align: center"> <!-- BEGIN previous --> <a class="navButton prev" href="{previous.U_IMG}" title="{L_PREV_IMG}{previous.TITLE_IMG}" rel="prev"><img src="{pwg_root}{themeconf:icon_dir}/left.png" class="button" alt="{lang:previous_page}" style="border: none; margin: 0 10px 0 10px"></a> <!-- END previous --> <a class="navButton up" href="{U_UP}" title="{L_UP_HINT}" rel="up"><img src="{pwg_root}{themeconf:icon_dir}/up.png" class="button" alt="{L_UP_ALT}" style="border: none; margin: 0 10px 0 10px" ></a> <!-- BEGIN next --> <a class="navButton next" href="{next.U_IMG}" title="{L_NEXT_IMG}{next.TITLE_IMG}" rel="next"><img src="{pwg_root}{themeconf:icon_dir}/right.png" class="button" alt="{lang:next_page}" style="border: none; margin: 0 10px 0 10px"></a> <!-- END next --> </div> <div class="imageNumber" style="text-align: center; width: 100%">{PHOTO}</div> <br> <br> <span style="font-size: 150%"> <!-- BEGIN title --> <span style="color: #fff48e;"> <b>{TITLE}</b> </span> <!-- END title --> <!-- BEGIN legend --> <br> {legend.COMMENT_IMG} <!-- END legend --> </span> <br> <br> <table class="infoTable" summary="Some info about this picture"> <tr> <td class="label">{lang:Author}</td> <td class="value">{INFO_AUTHOR}</td> </tr> <tr> <td class="label">Prise le</td> <td class="value">{INFO_CREATION_DATE}</td> </tr> <tr> <td class="label">{lang:Posted on}</td> <td class="value">{INFO_POSTED_DATE}</td> </tr> <tr> <td class="label">{lang:Categories}</td> <td class="value"> <ul> <!-- BEGIN category --> <li>{category.LINE}</li> <!-- END category --> </ul> </td> </tr> <tr> <td class="label">{lang:Visits}</td> <td class="value">{INFO_VISITS}</td> </tr> <!-- BEGIN info_rate --> <tr> <td class="label">{lang:Average rate}</td> <td class="value">{info_rate.CONTENT}</td> </tr> <!-- END info_rate --> </table> <br> <br> <!-- BEGIN rate --> <form action="{rate.F_ACTION}" method="post"> <div>{rate.SENTENCE} <!-- BEGIN rate_option --> {rate.rate_option.SEPARATOR} <!-- BEGIN my_rate --> <input type="button" name="rate" value="{rate.rate_option.OPTION}" class="rateButtonSelected" /> <!-- END my_rate --> <!-- BEGIN not_my_rate --> <input type="submit" name="rate" value="{rate.rate_option.OPTION}" class="rateButton" /> <!-- END not_my_rate --> <!-- END rate_option --> </div> </form> <!-- END rate --> <br> <br> <!-- BEGIN metadata --> <span id="show_exifs"> <table class="infoTable" style="font-size: 82%;"" summary="Some more (technical) info about this picture"> <!-- BEGIN line --> <tr> <td class="label">{metadata.line.KEY}</td> <td class="value">{metadata.line.VALUE}</td> </tr> <!-- END line --> </table> </span> <!-- END metadata --> <div style="position: absolute; bottom: 0; left: 0; width: 100%; text-align: center"> <a href="{U_SLIDESHOW}" title="{L_SLIDESHOW}" rel="nofollow"><img src="{pwg_root}{themeconf:icon_dir}/slideshow.png" class="button" alt="{L_SLIDESHOW}"></a> <a href="javascript:show_hide(id_exifs)" title="{L_PICTURE_METADATA}"><img src="{pwg_root}{themeconf:icon_dir}/metadata.png" class="button" alt="{L_PICTURE_METADATA}"></a> <!-- BEGIN representative --> <a href="{representative.URL}" title="{lang:set as category representative}"><img src="{pwg_root}{themeconf:icon_dir}/representative.png" class="button" alt="{lang:representative}"/></a> <!-- END representative --> <!-- BEGIN favorite --> <a href="{favorite.U_FAVORITE}" title="{favorite.FAVORITE_HINT}"><img src="{favorite.FAVORITE_IMG}" class="button" alt="{favorite.FAVORITE_ALT}"></a> <!-- END favorite --> <!-- BEGIN download --> <a href="{download.U_DOWNLOAD}" title="{L_DOWNLOAD}"><img src="{pwg_root}{themeconf:icon_dir}/save.png" class="button" alt="{L_DOWNLOAD}"></a> <!-- END download --> <!-- BEGIN admin --> <a href="{U_ADMIN}" title="{L_ADMIN}"><img src="{pwg_root}{themeconf:icon_dir}/preferences.png" class="button" alt="{L_ADMIN}"></a> <!-- END admin --> <!-- BEGIN caddie --> <a href="{caddie.URL}" title="{lang:add to caddie}"><img src="{pwg_root}{themeconf:icon_dir}/caddie_add.png" class="button" alt="{lang:caddie}"/></a> <!-- END caddie --> </div> </div> <!-- BEGIN high --> <a href="javascript:phpWGOpenWindow('{high.U_HIGH}','{high.UUID}','scrollbars=yes,toolbar=no,status=no,resizable=yes')"> <!-- END high --> <img src="{SRC_IMG}" id="thePhoto" style="width:{WIDTH_IMG}px;height:{HEIGHT_IMG}px;" alt="{ALT_IMG}"> <!-- BEGIN high --> </a> <p>{L_PICTURE_HIGH}</p> <!-- END high --> <!-- BEGIN stop_slideshow --> <p> [ <a href="{stop_slideshow.U_SLIDESHOW}">{L_STOP_SLIDESHOW}</a> ] </p> <!-- END stop_slideshow --> </div> <hr class="separation"> <!-- BEGIN comments --> <div id="comments"> <h2>[{comments.NB_COMMENT}] {L_COMMENT_TITLE}</h2> <div class="navigationBar">{comments.NAV_BAR}</div> <!-- BEGIN comment --> <div class="comment"> <!-- BEGIN delete --> <p class="userCommentDelete"> <a href="{comments.comment.delete.U_COMMENT_DELETE}" title="{L_DELETE_COMMENT}"> <img src="{pwg_root}{themeconf:icon_dir}/delete.png" class="button" style="border:none;vertical-align:middle; margin-left:5px;" alt="[{L_DELETE}]"/> </a> </p> <!-- END delete --> <p class="commentInfo"><span class="author">{comments.comment.COMMENT_AUTHOR}</span> - {comments.comment.COMMENT_DATE}</p> <blockquote>{comments.comment.COMMENT}</blockquote> </div> <!-- END comment --> <!-- BEGIN add_comment --> <form method="post" action="{U_ADD_COMMENT}" class="filter" id="addComment"> <fieldset> <legend>{L_ADD_COMMENT}</legend> <!-- BEGIN author_field --> <label>{L_AUTHOR}<input type="text" name="author"></label> <!-- END author_field --> <!-- BEGIN author_known --> <input type="hidden" name="author" value="{comments.add_comment.author_known.KNOWN_AUTHOR}"> <!-- END author_known --> <label>{L_COMMENT}<textarea name="content" rows="10" cols="80"></textarea></label> <input type="submit" value="{L_SUBMIT}" {TAG_INPUT_ENABLED}> </fieldset> </form> <!-- END add_comment --> </div> <!-- END comments --> <!-- At page load, use the last value (cookie) of exifs visible/hidden --> <script> var old_visibility = LireCookie(id_exifs); var tableau_exif = document.getElementById(id_exifs) ; if (old_visibility!=null) tableau_exif.style.visibility = old_visibility ; else tableau_exif.style.visibility = 'hidden' ; </script>
template/yoga/picture.css
#imageHeaderBar { padding: 2px 10px; margin: 4px 0; } #imageHeaderBar .browsePath { float: left; } #imageHeaderBar .imageNumber { float: right; } #imageHeaderBar H2 { /*margin: 1ex 0; override default-layout for less bottom-margin */ text-align: center; padding: 0; clear: both; } #imageToolBar { text-align: center; position: relative; clear: both; margin: 4px 0; padding: 0; } #imageToolBar { height: 28px; } #imageToolBar A, #imageToolBar IMG { display: block; border: none; margin: 0; padding: 0; } #imageToolBar A { width: 48px; } #imageToolBar IMG { margin: 2px auto; } #imageToolBar .randomButtons A { float: left; } #imageToolBar .navButtons A { float: right; } #theImage { clear: left; } #theImage>IMG { display: block; margin: 0 auto; } #theImage, #thePhoto { border-width: 3px; border-style: solid; } .navThumb { margin-top: 2px; } #thumbPrev { float: left; } #thumbNext { float: right; } #linkPrev { margin-right: 10px; margin-left: 5px; } #linkNext { margin-right: 5px; margin-left: 10px; } TABLE.infoTable .value { text-align: left; } TABLE.infoTable .label { font-weight: bold; text-align: right; padding-right: 0.5em; } TABLE.infoTable TD.value UL { margin: 0; padding: 0 0 0 1.5em; list-style-type: square; } .rateButton, .rateButtonSelected { background-color:transparent; padding:0; border:0; } .rateButton { cursor: pointer; } .rateButtonSelected { color:inherit; font-weight:bold; font-size:120%; } #comments { text-align: left; } #comments .comment { margin: 3ex 0; } #comments H2 { margin: 1ex 0; } #comments P { margin: 0; } #comments .author { font-weight: bold; } #comments BLOCKQUOTE { margin: 1ex 0 1ex 2em; padding: 4px 4px 0 /* IE bug */ 4px; } #comments BLOCKQUOTE P { margin: 0; padding-bottom: 4px; /* IE bug follow-up */ } #comments BLOCKQUOTE P+P { margin-top: 1ex; } #comments P.userCommentDelete { float: right; margin: 0; }
Une dernière modif qui n'a rien a voir avec la présentation des images. Au niveau de l'historique, la limitation au dernier jour ne me satsfaisait pas (c'est une galerie privée et familiale!):
admin/stats.php
// ligne 241: clause WHERE vide $where = '' ; // ligne 252: ajouter jour/mois avant l'heure SELECT DATE_FORMAT(date,\'%d/%m %H:%i:%s\') AS hour,
Hors ligne
encore une fois bravo !
et je pense que cela pourrait etre tres utile, surtout pour le mode diaporama.
si j'ai un peu de temps (et si j'y arrive), je ferai cette modif pour le mode diapo,
avec possibilité de configurer le mode diapo en normal ou light.
Hors ligne
Please excuse the English but I don’t speak French and actually had to use Google to translator this post.
I tried adding this to my pwg site but am having some trouble and hope someone can help.
The problems are when I go to see a picture, it says at the bottom of the page
Done, but with errors on page.
and the metadata icon doesn’t work.
Also, I could not find page_banner status on picture.php.
I’m using version 1.6.1 and running this mod on a backup of PWG at this link:
http://anta.no-ip.com/www2/gallery_backup/1.6.1/
Hors ligne
I am not certain of this is the complete solution.
In picture.tpl there is an error:
<!-- END rate -->
<br>
<br>
<!-- BEGIN metadata -->
<span id="show_exifs">
<table class="infoTable" style="font-size: 82%;"" summary="Some more (technical) info about this picture">
<!-- BEGIN line -->
<tr>
<td class="label">{metadata.line.KEY}</td>
<td class="value">{metadata.line.VALUE}</td>
</tr>
<!-- END line -->
</table>
</span>
<!-- END metadata -->
Correct form is
<table class="infoTable" style="font-size: 82%;" summary="Some more (technical) info about this picture">
Please open a related topic on the English side Forum to carry on with this purpose.
Thx.
Hors ligne
Outre le fait qu'il y a deux double "quote" à la fin du style de l'infotable...
Nous avons aussi une balise <script> en fin de picture.tpl qui est incorrecte.
Nous devrions avoir à la place bien entendu:
<script type="text/javascript">
Je ne vois pas d'autre erreur, actuellement.
8-)
Hors ligne
Houla, mais ça semble intéressant ça (ça me fait penser qu'il faut vraiment que je migre en 1.6.1 !)
Hors ligne
je testerais surement cette présentation ! Cela peut aider à la navigation en évitant en effet le scroll systématique pour voir les infos de l'image.
quels sites l'on déjà adopté ?
merci ,
éric.
Hors ligne
Salut
Je l'ai installé et ça marche très bien : http://www.album.pashmina-le-site.com/p … ategory/19
A+
Hors ligne
impec... sauf que je n'arrive pas à voir les exif de prise de vue.
Un petit truc qui me chagrine sur ma présentation: quand la fenêtre est vraiment trop petite, l'image passe en dessous de la colonne de droite. Je préfèrerais que la colonne de droite vienne se superposer à l'image.
Un roi du CSS saurait-il comment faire ?
Hors ligne
phgiraud a écrit:
impec... sauf que je n'arrive pas à voir les exif de prise de vue.
Un petit truc qui me chagrine sur ma présentation: quand la fenêtre est vraiment trop petite, l'image passe en dessous de la colonne de droite. Je préfèrerais que la colonne de droite vienne se superposer à l'image.
Un roi du CSS saurait-il comment faire ?
le plus "joli", c'est d'avoir une taille fixe pour tes images... tu as souvent des toutes petites images ? (c'est vrai que ça pourrait être le cas avec des videos par exemple... :S faut que j'vois ça ce WE !)
Pour les EXIF de prise de vue, au redimensionnement, il faut bien veiller à utiliser un programme qui ne va pas te les supprimer au passage ! (phpMyVignettes fait ça proprement)
Dernière modification par BeTtA SpLeNdEnS (2006-09-15 10:20:24)
Hors ligne