Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

repie38
2006-08-19 22:21:35

autant pour moi
;)

VDigital
2006-08-19 21:29:15

Hoverbox : Le jeu consiste à ne pas utiliser Javascript... !!!

repie38
2006-08-19 19:15:52

interessant tout ca !
on pourrait peut etre s'en servir pour l'hoverbox non ?

mama
2006-08-18 17:16:19

c fait
merci

VDigital
2006-08-18 16:44:47

En raison de ta page d'accueil...
On découvre vite ceci:
http://mamaf.com/album/galleries/2006/Milo/

Je te conseille très rapidement de mettre en oeuvre ceci:
add_index

Et le blème sera réglé...

8-)

mama
2006-08-18 15:28:35

Merci beaucoup pour cette explication hyper détaillée
La mise en place n'a pas été compliquée
vous pouvez voir à quoi ça ressemble à cette adresse : http://mamaf.com/album/index.php?/category/24
Concernant la déactivation du javascript : j'ai testé, l'image est affichée simplement dans le navigateur, saus aucun artifice
Mon prochain essai va être la mise en place de la version Slideshow de Lightbox : http://ahavriluk.home.comcast.net/lightboxEx/doc/

VDigital
2006-08-16 17:16:02

Ceci ne résoudra pas tous les cas... mais le principe est là.
Je te donne le principe car différents modules seront touchés.
8-)

Dans template/yoga/thumbnails.tpl, tu retrouveras :

<a href="{thumbnails.line.thumbnail.U_IMG_LINK}">
            <img class="thumbnail" src="{thumbnails.line.thumbnail.IMAGE}"
        alt="{thumbnails.line.thumbnail.IMAGE_ALT}"
        title="{thumbnails.line.thumbnail.IMAGE_TITLE}">
        </a>

Ce template est utilisé et réutilisé par plusieurs modules (d'où le pb que tu vas rencontrer que j'évoquais).

On souhaite modifier ça pour chaque vignette pour englober
            <img class="thumbnail" src="{thumbnails.line.thumbnail.IMAGE}"
        alt="{thumbnails.line.thumbnail.IMAGE_ALT}"
        title="{thumbnails.line.thumbnail.IMAGE_TITLE}">
par
<a href="{autre_chose}" rel="lightbox"> et </a>

Il faut modifier les modules php où est renseigné {thumbnails.line.thumbnail.U_IMG_LINK} pour y renseigner {autre_chose}.

Une recherche de U_IMG_LINK dans tous le modules *.php s'impose.

Nous obtenons:
/include/category_default.inc.php
/include/category_recent_cats.inc.php
/include/category_subcats.inc.php
/include/calendar_monthly.class.php

Je ne détaille que pour category_default.inc.php.

Dans category_default.inc.php, nous avons ceci:

foreach ($pictures as $row)
{
  $thumbnail_url = get_thumbnail_src($row['path'], @$row['tn_ext']);

  // message in title for the thumbnail
  $thumbnail_title = $row['file'];
  if (isset($row['filesize']))
  {
    $thumbnail_title .= ' : '.$row['filesize'].' KB';
  }
 
  // link on picture.php page
  $url = duplicate_picture_url(
        array(
          'image_id' => $row['id'],
          'image_file' => $row['file']
        ),
        array('start')
      );

  $template->assign_block_vars(
    'thumbnails.line.thumbnail',
    array(
      'IMAGE'              => $thumbnail_url,
      'IMAGE_ALT'          => $row['file'],
      'IMAGE_TITLE'        => $thumbnail_title,
      'IMAGE_TS'           => get_icon($row['date_available']),

      'U_IMG_LINK'         => $url,

      'CLASS'              => 'thumbElmt',
      )
    );

Je traduis en gros:
"Pour chaque image, on calcule l'URL de la miniature à partir de l'adresse de l'image et de l'extension de sa miniature (.png ou .jpg). Puis calculer le titre, et l'URL qui affichera l'image de taille normale, ce à quoi on ne touchera pas. Puis on renseigne les différentes variables.
Sachant que dans $row['path'], on a l'adresse de l'image.
Il suffit juste après...

array(
      'IMAGE'              => $thumbnail_url,
      'IMAGE_ALT'          => $row['file'],
      'IMAGE_TITLE'        => $thumbnail_title,
      'IMAGE_TS'           => get_icon($row['date_available']),

      'U_IMG_LINK'         => $url,

      'CLASS'              => 'thumbElmt',

d'ajouter par exemple:

'SRC_IMG'         => $row['path'],

Une fois cette modif effectuée et selon le même principe appliquée aux trois autres modules:
/include/category_recent_cats.inc.php
/include/category_subcats.inc.php
/include/calendar_monthly.class.php

Nous allons pouvoir modifier template/yoga/thumbnails.tpl
de la façon suivante:

<a href="{thumbnails.line.thumbnail.SRC_IMG}" rel="lightbox" title="my caption">
            <img class="thumbnail" src="{thumbnails.line.thumbnail.IMAGE}"
        alt="{thumbnails.line.thumbnail.IMAGE_ALT}"
        title="{thumbnails.line.thumbnail.IMAGE_TITLE}">
        </a>

Sans oublier que dans template/yoga/header.tpl
on se doit d'ajouter ceci:

<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
<!-- Include the Lightbox CSS file (or append your active stylesheet with the Lightbox styles).  -->
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />

Quelques remarques:
- picture.tpl continuera d'être accessible mais à priori plus par l'administrateur.
- L'utilisation de Javascript reste sous le contrôle du visiteur que ce passera-t-il si celui-ci a désactivé Javascript?
- L'historique ne sera plus alimenté.
- Le référencement des images risque fort d'être très aléatoire pour le moins en fonction des moteurs de recherche.
- Modifs à effectuer à chaque changement de version naturellement, mais c'est assez simple.

Ces différentes remarques m'ont orienté vers des solutions basées sur du css (Hoverbox, lequel est un peu en rideau actuellement mais pour lequel je ne désespère pas de trouver une solution un jour).

Bon courage pour les adaptations.

Un lien sur le résultat obtenu nous réjouirait sans doute tous (Quelques images publiques suffiront).
8-)

PS: Je n'ai bien entendu pas testé tout ça. Mais je ne vois pas pourquoi cela ne marcherait pas.

VDigital
2006-08-16 15:15:40

J'ai compris, je te donnerai une solution, mais tu rencontreras un autre pb...

mama
2006-08-16 13:25:47

L'idée est d'intégrer le module Lightbox (http://www.huddletogether.com/projects/lightbox2/) dans une gallerie phpwebgallery
il faut donc intégrer dans le template thumbnails.tpl le type de code suivant pour chaque vignette :

Code:

<a href="images/image-1.jpg" rel="lightbox[roadtrip]">image #1</a>
flipflip
2006-08-16 13:22:39

mama, je ne t'ai rien mis entre les {} tout simplement parce que je n'avais pas la valeur en tête. Mais comme l'a dit VDigital dit nous exactement ce que tu veux faire.

VDigital
2006-08-16 10:32:35

Un mod external_random non testé en 1.6.x permettait de faire ça très bien.

VDigital
2006-08-16 10:31:08

Et si tu décrivais ce que tu veux faire?

Peut-être qu'une solution évidente pour quelqu'un existe déjà.
Le problème posé de cette façon (un peu en aveugle) ne motive pas forcément...

8-)

Moralité: Ceux qui cherchent à réinventer la roue risque bien de l'obtenir mais il se peut qu'elle soit voilée.

mama
2006-08-16 10:02:07

c'est dans le href que je veux mettre un lien vers l'image plutôt que vers la page php
si je remplace

Code:

        <a href="{thumbnails.line.thumbnail.U_IMG_LINK}">

par

Code:

        <a href="{}">

ça ne me sort rien du tout dans le lien

je voudrais qq chose du genre

Code:

        <a href="{thumbnails.line.thumbnail.SOURCE_IMAGE}">

si j'utilise la variable {SRC_IMG}, ça ne marche pas non plus
rappel : je suis dans le template thumbnails.tpl

qq'un a-t-il la solution ?

flipflip
2006-08-16 06:16:30

Oui il te suffit de récupérer la valeur contenue dans

Code:

<img src="{}">
mama
2006-08-15 20:58:55

oui, c'est ce que je fais mais je tatonne
ça irait plus vite si je savais quelles variables je peux utiliser en fonction du template dans lequel je me trouve
par exemple : peut on avoir accès à l'url de l'image lorsqu'on est sur un thumbnail ?

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact