Fonction

Résolu
Bonjour à tous,

j'ai mis en place un diaporama (PHP_Photo_Module_0.2.3) qui fonctionne super bien. 1ere page : 1 vignette pour entrer - 2eme page : toutes les vignettes - en cliquant sur une vignette, le diaporama se met en place, avec une grande photo au centre et une vignette de chaque côté pour aller vers la photo précédente ous suivante.
http://www.anysite.fr/desjoyaux/

j'aimerais, que lorsque la grande photo apparait on puisse l'imprimer (avec une icone "imprimante"). J'avais ceci mais ou dois-je le placer ?
<p align="right"><a href="javascript:window.print()"><img src="imprimante.png" title="Imprimer cette page." border="0" /></a></p>

Merci d'avance pour vos réponses
Configuration: Windows XP
Firefox 1.5.0.10

5 réponses

  1. Contributeur
    Salut

    Essaye de rajouter ta balise juste avant la balise <php de la ligne 611 (il me semble que c'est celle-ci, mais comme j'ai lu ton poste en début d'apèrm et que je n'ai pas répondu tout de suite, je ne garantie rien).

    Si ce n'est pas celle la, dis le moi, je rechercherai
    1. Merci beaucoup vlmath,

      ça fonctionne, tout est ok... ou presque tout
      pour les photos, j'ai 3 résolutions possibles : 400x300 - 640x480 et 800x600. Quand je suis sur les 2 premières résolutions, j'ai l'icône de l'imprimante qui apparait et je peux imprimer. Par contre sur la résolution 800x600, je n'ai plus l'icône, donc plus d'impression possible...
      Comprends-tu d'où vient le problème ?... je vais essayer de mettre la balise avant le <php ligne 600 et je te tiens au courant
      Encore merci
      1. J'ai donc testé en placant la balise avant le <php pour toutes les résolutions et ça fonctionne... YES

        Encore merci de ton aide
      2. Lorsque j'imprime, c'est toute la page qui s'imprime (c'est déjà pas mal !),par la fonction javascript mais comment faire pour imprimer seulement la photo affichée ?

        merci pour votre aide
    2. Contributeur
      La seule solution que je vois est la suivante :

      1. Ne met pas un lien avec un javascript, mais un lien vers une autre page, comme ceci :

      <a href="print.php?img=<?php echo PHOTOS_DIR . "/" . rawurlencode($photodir) . "/" . $dim . "/" . $listFile[$photo]; ?>">Print</a>

      La variable $_GET['img'] devrait contenir le lien vers l'image (je n'ai pas pu tester parce que je n'arrive pas à mettre la galerie en place ...)

      2. Sur la page print.php, il te suffit de mettre ce code :

      <html>
      <body onload="javascript:print()">
      <?
      print '<img src="'.$_GET['img'].'">';
      ?>
      </body>
      </html>

      L'impression marche correctement. S'il y a un problème, c'est dans la page index.php, à l'intérieur du bout de code qui donne le lien vers l'image (<?php echo PHOTOS_DIR . "/" . rawurlencode($photodir) . "/" . $dim . "/" . $listFile[$photo]; ?>)

      @++
      1. Merci beaucoup vlmath,

        ton code fonctionne à merveille : je peux effectivement imprimer la photo qui est affichée. Si je peux abuser de tes connaissances, il y a un truc que je te demanderais :
        lorsque je lance "print", ce qui me chagrine c'est que la photo s'affiche dans une nouvelle fenêtre et que si tu fermes cette fenêtre, tu fermes aussi le site. Je pense aux internautes qui n'ont pas l'habitude d'utiliser la flêche retour de leur navigateur. As-tu une solution pour éviter la fermeture du site ?

        En tout cas, je te remercie encore
    3. Contributeur
      Essaye de mettre un target _blank pour que le lien s'ouvre dans une nouvelle page (maintenant, elle s'ouvre dans la même, mais le reste de la page disparait) :

      <a href="print.php?img=<?php echo PHOTOS_DIR . "/" . rawurlencode($photodir) . "/" . $dim . "/" . $listFile[$photo]; ?>" target="_blank">Print</a>

      Donne moi des nouvelles.

      @++
      1. Merci, merci, merci vlmath,

        c'est exactement ce qu'il me faut ... tout fonctionne super ... une plus petite fenêtre s'ouvre, que l'on peut fermer sans risquer de fermer le site.

        je te remercie vivement...

        a bientôt
    4. Contributeur
      Ce n'est pas un problème ...

      Amuse toi bien et n'esite pas à poser des questions si tu en as besoin.

      @bientôt