Astuces Forumactif
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Membres connectés récemment
Voir tous les membres

[PHPBB3] Ajouter un nombre de photos


2 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Mar 3 Mar 2020 - 18:20

  • Version du forum :
    PHPBB3
  • Templates modifiés :
    oui
  • Navigateur :
    Firefox
Bonjour à tous,

Philippe m'a écrit ce script sur les sujets qui permet de montrer les miniatures des photos des sujets.

Code:
//Miniatures photos sur sujets
    $(function(){
        "use strict";
        $('<div class="M14_photos"><span class="M14_SlidePhotos" title="Afficher/Masquer les miniatures du sujet">Les photos du sujet   <img src="https://i.servimg.com/u/f11/11/26/21/37/icon_a14.png"/></span><div class="M14_Load_photos"></div></div>').insertBefore('h1.page-title');
        var photos=$(".postbody img").filter(function(){
            return this.width>200&&this.height>200;
        });
        var fragment=document.createDocumentFragment();
        photos.each(function(){
            var href=$(".topic-title>a",$(this).parentsUntil(".postbody").parent())[0].href;
            var a=document.createElement("a");
            a.href=href;
            a.appendChild(this.cloneNode(0));
            fragment.appendChild(a);
        });
        if(!fragment.hasChildNodes())return;
        $(".M14_Load_photos")[0].appendChild(fragment);
        $('.M14_photos').show();
        $('.M14_SlidePhotos').on("click",function(){
            $(this).next().fadeToggle();
        });
      
    });


Serait-il possible d'avoir à droite du texte "Les photos du sujet" le nombre de photos.
Spoiler:


Merci pour votre aide.


Dernière édition par photoclic le Mer 4 Mar 2020 - 17:40, édité 1 fois
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mar 3 Mar 2020 - 19:14

Hello Serge, cela risque d'être assez compliqué car on recherche les images avec les restrictions données mais sur tous les messages du sujet alors qu'il nous faut un total sur toute la page...

Faut-il ajouter un nouveau Script ?
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Mar 3 Mar 2020 - 19:25

Bonsoir Philippe,

Aïe, je pensais que l'ajout d'un compteur dans le script existant dès qu'une photo était trouvée collerait.

Un nouveau script... si nécessaire, j'adore les scripts :-)
Ce serait uniquement sur les sujets.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mer 4 Mar 2020 - 6:48

Hello Serge,
le script avait été remodelé par Arnaud il me semble.

Est-ce que ce dernier s'affiche en haut sur tous les messages actuellement ?
Car sur mon fofo c'est le cas.

Avec ce script (en remplacement de l'actuel) , tu auras le nombre de photos par page et il s'affichera seulement si il trouve
des photos supérieures à 200px de haut et 200px de largeur.

Code:
//Miniatures photos sur sujets
        $(function(){
            "use strict";
          $('<div class="M14_photos"style="display:none;"><span class="M14_SlidePhotos" title="Afficher/Masquer les miniatures du sujet">Les photos du sujet  <span class="NumBerPicTurEs"></span> <img src="https://i.servimg.com/u/f11/11/26/21/37/icon_a14.png"/></span><div class="M14_Load_photos"></div></div>').insertBefore('h1.page-title');
            var photos=$(".postbody img").filter(function(){
                return this.width>200&&this.height>200;
            });
            var fragment=document.createDocumentFragment();
            photos.each(function(){
              photos.addClass('selected');
             
                var href=$(".topic-title>a",$(this).parentsUntil(".postbody").parent())[0].href;
                var a=document.createElement("a");
                a.href=href;
                a.appendChild(this.cloneNode(0));
                fragment.appendChild(a);
            });
            if(!fragment.hasChildNodes())return;
var number=$('img[class="selected"]').length;
          if(number)
          {$('.M14_photos').show();}
          $(".NumBerPicTurEs").text(number);
            $(".M14_Load_photos")[0].appendChild(fragment);
            $('.M14_photos').show();
            $('.M14_SlidePhotos').on("click",function(){
                $(this).next().fadeToggle();
            });
         
        });
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Mer 4 Mar 2020 - 12:15

Bonjour Philippe,

Merci pour ce travail.

....
Est-ce que ce script s'affiche en haut sur tous les messages actuellement ?
Car sur mon fofo c'est le cas.

Ce script s'affiche bien au dessus du 1ier mesage à droite sur les sujets, comme dans l'image en spoiler ici:
https://www.milouze14.com/t32518-phpbb3-ajouter-un-nombre-de-photos#619176


Ton script est en place sur mon fofo où tu es en admin.
Le nombre de photos affichées est toujours à zéro.

Il me semble aussi que ceci n'est pas nécessaire dans ton script car redondant:
Code:

if(number)
          {$('.M14_photos').show();}

car cette ligne se retrouve déjà plus bas:
Code:
$('.M14_photos').show();

Par ailleurs, il me semble que le nombre de photos seraient récupéré dans;
Code:
(photos.length)
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Mer 4 Mar 2020 - 14:28

Me revoila,

je vais essayer ça, probablement à corriger par tes soins:

Code:

//Miniatures photos sur sujets
            $(function(){
                "use strict";
              $('<div class="M14_photos"style="display:none;"><span class="M14_SlidePhotos" title="Afficher/Masquer les miniatures du sujet">Les photos du sujet  <span class="NumBerPicTurEs"></span> <img src="https://i.servimg.com/u/f11/11/26/21/37/icon_a14.png"/></span><div class="M14_Load_photos"></div></div>').insertBefore('h1.page-title');
                var photos=$(".postbody img").filter(function(){
                    return this.width>200&&this.height>200;
                });
                var fragment=document.createDocumentFragment();
                photos.each(function(){
                  photos.addClass('selected');
                
                    var href=$(".topic-title>a",$(this).parentsUntil(".postbody").parent())[0].href;
                    var a=document.createElement("a");
                    a.href=href;
                    a.appendChild(this.cloneNode(0));
                    fragment.appendChild(a);
                });
                if(!fragment.hasChildNodes())return;
  //var number=$('img[class="selected"]').length;
              
 
              $(".NumBerPicTurEs").text(photos.length);
                $(".M14_Load_photos")[0].appendChild(fragment);
                $('.M14_photos').show();
                $('.M14_SlidePhotos').on("click",function(){
                    $(this).next().fadeToggle();
                });
            
            });
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mer 4 Mar 2020 - 17:06

Re Serge,
si tu considères que le script modifié par tes soins est fonctionnel, on peut clôturer ton sujet car je suis avec mon Android. Donc impossible à tester.

photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Mer 4 Mar 2020 - 17:40

Hello Philippe,

Ah mince, mon niveau en JS étant voisin de "null" une validation de ta part c'était mieux :-)

Je viens de re-tester pour voir si pas de cas à piège, ça semble ok.

Je passe donc en résolu

Et merci Philippe pour ton aide précieuse.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mer 4 Mar 2020 - 18:42

Re Serge,
tu peux supprimer ces deux lignes inutiles désormais:
Code:
photos.addClass('selected');
et
Code:
//var number=$('img[class="selected"]').length;


Hello


Sujet résolu et déplacé dans le forum adéquate

A bientôt pour une prochaine demande clin oeil





Voir le sujet précédent Voir le sujet suivant Revenir en haut

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum