•  » Styles
  •  » Lire tailles image avant chargement de la page

#1 2013-12-22 13:42:08

Harry
Membre
2011-10-07
143

Lire tailles image avant chargement de la page

Bonjour, tous !

Je suis en train de me créer une nouvelle galerie en Piwigo 2.5.3, la plus épurée et la moins bidouillée possible pour que celle-ci reste compatible avec les futurs thèmes/Versions de Piwigo (Fichtre ! Que d'améliorations en 2 ans ! On ne chôme pas, chez Piwigo !). Cette galerie remplacera ou complètera à terme l'actuelle (en 2.3.3), définitivement inactualisable...

Cela m'a permis de constater que mon script de panier paypal différencié (code non finalisé mais fonctionnel ici) fonctionnait avec Piwigo 2.5.3 et les thèmes "OS" (tous), "Simple" (tous), "Stripped" (tous), "Slide" et "Full background" à un bémol près :
Stripped définit les dimensions de la page avant chargement :

Code:

{literal}
<script type="text/javascript">
var image_w = {/literal}{$WIDTH_IMG}{literal}
var image_h = {/literal}{$HEIGHT_IMG}{literal}
</script>
{/literal}

ce qui me permettait d'utiliser ces variables dans un document.write pour calculer les proportions de l'image.
Je suis bigrement tenté par le thème "Slide" (bravo à Miklfe, d'ailleurs ! S'il n'y avait pas ce problème de référencement, je le trouverais parfait !) mais, avec ce thème (et tous les thèmes autres que "Stripped"), je suis obligé d'entrer les dimensions de chaque image (genre : paypalperso(1,900,600) au lieu de paypalperso(1)).

Question, donc :
Y a-t-il moyen avec les autres thèmes d'obtenir les dimensions de la photo (réduite, agrandie ou originale, peu importe, je ne m'intéresse qu'à la proportion) avant le chargement de la page par plugin personnalisé ou modification légère d'un des.tpl ?. Bien sûr, plein de méthodes existent avec JQuery ou du innerHTML, mais elles s'exécutent après le chargement de la page, et sont donc inutilisables avec des document.write...

Désolé d'avoir été long, et merci d'avance pour votre réponse !

Harry

Hors ligne

#2 2013-12-22 18:32:02

Miklfe
Membre
Sarthe
2010-11-13
364

Re: Lire tailles image avant chargement de la page

Salut
Merci pour tes encouragements. Concernant Slide une toute nouvelle version va arriver avec la 2.6 de Piwigo, elle n'utilise plus d'Iframe et affiche l'url de la page en cour dans le navigateur avec le pluggin sitemap le référencement serra très largement amélioré.
pour ton problème de taille d'image: d'abord (perso) je ferais tout en jquery et je récupère la taille des images par width() et height() de jquery.
Ton code (que tu donne dans le lien) est bien documenté je suis entrain de regarder comment ça marche.

Hors ligne

#3 2013-12-22 19:37:04

Miklfe
Membre
Sarthe
2010-11-13
364

Re: Lire tailles image avant chargement de la page

en fait la taille d'image que tu cherche à récupérer c'est la taille originale de l'images.

Hors ligne

#4 2013-12-22 19:50:34

Harry
Membre
2011-10-07
143

Re: Lire tailles image avant chargement de la page

Oui, ou toute taille "proportionnelle à l'originale".

Hors ligne

#5 2013-12-22 21:26:51

Miklfe
Membre
Sarthe
2010-11-13
364

Re: Lire tailles image avant chargement de la page

Quand tu appelle ta fonction essaye

Code:

<script type="text/javascript">
var largeur       = $('theImg img').width(),
      longueur    = $('theImg img').height();


paypalperso(2 , largeur , longueur , 'nouveautitre');
</script>

Hors ligne

#6 2013-12-22 22:09:46

Harry
Membre
2011-10-07
143

Re: Lire tailles image avant chargement de la page

Hum... Merci pour la réponse, Miklfe, mais ça ne marche toujours pas. Quand je fais un document.write(largeur), ça me ressort : "Null"...

Hors ligne

#7 2013-12-22 22:33:54

Miklfe
Membre
Sarthe
2010-11-13
364

Re: Lire tailles image avant chargement de la page

et si tu fais un alert comme ça

Code:

<script type="text/javascript">
var largeur       = $('theImg img').width(),
      longueur    = $('theImg img').height();
alert(largeur)

paypalperso(2 , largeur , longueur , 'nouveautitre');
</script>

Hors ligne

#8 2013-12-22 22:43:24

Harry
Membre
2011-10-07
143

Re: Lire tailles image avant chargement de la page

Un message d'alerte... Mais vide.

Hors ligne

#9 2013-12-22 22:45:16

Miklfe
Membre
Sarthe
2010-11-13
364

Re: Lire tailles image avant chargement de la page

p'tain excuse moi

Code:

<script type="text/javascript">
var largeur       = $('#theImg img').width(),
      longueur    = $('#theImg img').height();
alert(largeur)

paypalperso(2 , largeur , longueur , 'nouveautitre');
</script>

il manquait le # (id de l'objet)

Dernière modification par Miklfe (2013-12-22 22:46:27)

Hors ligne

#10 2013-12-22 23:02:52

Harry
Membre
2011-10-07
143

Re: Lire tailles image avant chargement de la page

Aucune amélioration... Désolé !

Hors ligne

#11 2013-12-25 01:52:43

Harry
Membre
2011-10-07
143

Re: Lire tailles image avant chargement de la page

Hum... Il semblerait que ça marche en remplaçant

Code:

$('#theImg img').width()

par

Code:

$('#theMainImage').width()

... (l'id qui était juste après theImg img dans le code, donc).
Super ! Avec ça et le plugin "Batch manager, Photo description", je viens d'ajouter un panier personnalisé à 200 photos en 2 minutes.
Merci pour ton aide, Miklfe, et vivement la prochaine version de "Slide" !
(Je ne marque pas "résolu" pour l'instant : je vais déjà tester sur d'autres navigateurs, mais je suis optimiste !)

Dernière modification par Harry (2013-12-25 01:56:22)

Hors ligne

  •  » Styles
  •  » Lire tailles image avant chargement de la page

Pied de page des forums

Propulsé par FluxBB

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