Annonce

  •  » Utilisation
  •  » Ordre aléatoire des albums en page d'accueil

#1 2021-06-09 10:46:53

Katryne
Membre
Provence
2016-12-03
1203

Ordre aléatoire des albums en page d'accueil

Bonjour !
Je voudrais un affichage aléatoire à chaque rafraichissement de pages ou toutes les x minutes de l'ordre d'affichage des albums en page d'accueil. Est-ce possible ? Config que je n'aurais pas vue, plugin, astuce, fork ?

v.11.5 https://imagedoc.revestou.fr/


https://photos.revestou.fr/  v.12.2 PHP: 7.4.30 - https://dardennes.revestou.fr/ v.11.5 - http://photos.katrynou.fr/ v.11.5 PHP: 7.4.30 https://album.chauvigne.info/ v.12.3.0  PHP: 8.0.22
Système d'exploitation: Linux - Hébergeur 1&1-Ionos - MySQL: 5.7.38
Bibliothèque graphique: External ImageMagick 6.9.10-23

Hors ligne

#2 2021-06-09 12:49:10

biache
Membre
Jacou
2021-05-29
45

Re: Ordre aléatoire des albums en page d'accueil

Sur ma page d'accueil  a chaque (re)chargement 10 images au hasard.
Pour cela, plugin AdditionalPages pour faire ma page d'accueil avec le code suivant

Code:

<style type="text/css">
.navbar-contextual { display: none; }
.carousel-item {
  height: 100vh;
  min-height: 300px;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.carousel-caption a {
  font-family: 'Lato', sans-serif;
  color: #ddd;
  font-weight: 900;
  text-transform: full-width;
  text-decoration: none;
  text-shadow: -1px -1px 1px #aaa,
             0px 5px 2px rgba(0,0,0,0.5),
             5px 5px 6px rgba(0,0,0,0.7),
             0px 0px 8px rgba(0,0,0,0.4);
  font-size: 3rem;
  padding: 1rem 2rem;
  border-radius: 5px;
}
.carousel-indicators {
  bottom: 2rem;
  color: #ddd;
  font-weight: 800;
  border-radius: 2px;
}
.content-grid, .pt-3, .copyright {display:none;}
</style>
<div id="last10items" class="carousel carousel-fade" data-ride="carousel">
  <ol class="carousel-indicators">
  </ol>
  <div class="carousel-inner">
  </div>
  <a class="carousel-control-prev" href="#last10items" role="button" data-slide="prev">
    <span class="fa fa-chevron-left" aria-hidden="true"></span>
    <span class="sr-only">Précédent</span>
  </a>
  <a class="carousel-control-next" href="#last10items" role="button" data-slide="next">
    <span class="fa fa-chevron-right" aria-hidden="true"></span>
    <span class="sr-only">Suivant</span>
  </a>
</div>

<script type="text/javascript">
var pwg_root = '/';
var pwg_api = pwg_root + 'ws.php?format=json&method=pwg.categories.getImages&recursive=true&per_page=10&recursive=true&order=random';
function setHeights() {
    if ($('.jumbotron').length > 0) {
      var height = window.innerHeight - $('.navbar-main').outerHeight() - $('.jumbotron').outerHeight();
    } else {
      var height = window.innerHeight - $('.navbar-main').outerHeight();
    }
    var bottom = window.innerHeight - height + (height * 0.1);
    $('#last10items .carousel-inner').css('height', height);
    $('#last10items').find('.carousel-caption').css('bottom', bottom + 'px');
}
$.getJSON(pwg_api, function (json) {
    var images = json.result.images;
    $.each( images, function ( i, image ) {
       var src = image.derivatives.xlarge.url; /* replace large with preferred derivative size */
       var dheight = image.derivatives.xlarge.height; /* replace large with preferred derivative size */
       var name = image.file;
       var link = image.categories[0].page_url;
       if (i === 0) {
          $('#last10items .carousel-indicators').append('<li data-target="#last10items" data-slide-to="' + i + '" class="active"></li>');
          $('#last10items .carousel-inner').append('<div class="carousel-item active text-center" style="background-image: url(\'' + src + '\')"><div class="carousel-caption"><a href="/index.php?/categories">Ouvrez les yeux !</a></div></div>');
       } else {
          $('#last10items .carousel-indicators').append('<li data-target="#last10items" data-slide-to="' + i + '"></li>');
          $('#last10items .carousel-inner').append('<div class="carousel-item text-center" style="background-image: url(\'' + src + '\')"><div class="carousel-caption"><a href="/index.php?/categories">Ouvrez les yeux !</a></div></div>');
       }
    });
    $('#last10items').closest('.container').addClass('w-100 h-100 mx-0').removeClass('container');
    setHeights();
});

$(window).on('resize', function() {
  setHeights();
});
</script>

L'appel a l'api qui te renvoie les 10 images au hasard est celui ci :
var pwg_api = pwg_root + 'ws.php?format=json&method=pwg.categories.getImages&recursive=true&per_page=10&recursive=true&order=random';

Tu peux jouer sur le nb d'images, sur l'ordre, sur les albums concernés, etc ..

Dernière modification par biache (2021-06-09 12:52:13)

Hors ligne

#3 2021-06-09 12:58:33

Katryne
Membre
Provence
2016-12-03
1203

Re: Ordre aléatoire des albums en page d'accueil

Merci de ta suggestion, Benoît, mais ce n'est pas ce que je recherche. Ma page d'accueil est la page de tous les albums. Ce sont les miniatures d'albums que je veux voir afficher au hasard, de tous les albums de 1er niveau. Je ne veux pas ajouter de carrousel d'image ni créer une page d'accueil différente.


https://photos.revestou.fr/  v.12.2 PHP: 7.4.30 - https://dardennes.revestou.fr/ v.11.5 - http://photos.katrynou.fr/ v.11.5 PHP: 7.4.30 https://album.chauvigne.info/ v.12.3.0  PHP: 8.0.22
Système d'exploitation: Linux - Hébergeur 1&1-Ionos - MySQL: 5.7.38
Bibliothèque graphique: External ImageMagick 6.9.10-23

Hors ligne

#4 2021-06-09 17:19:01

biache
Membre
Jacou
2021-05-29
45

Re: Ordre aléatoire des albums en page d'accueil

Je m'en doutes, je mettais l'accent sur comment récupérer les images au hasard.
Peut etre tu vas pouvoir surcharger l'affichage de la miniature de chaque album ?

Hors ligne

#5 2021-06-09 18:14:56

Katryne
Membre
Provence
2016-12-03
1203

Re: Ordre aléatoire des albums en page d'accueil

Mouiiii, mais c'est trop compliqué pour moi, je n'y comprends goutte ... Merci encore, c'est l'intention qui compte !!!


https://photos.revestou.fr/  v.12.2 PHP: 7.4.30 - https://dardennes.revestou.fr/ v.11.5 - http://photos.katrynou.fr/ v.11.5 PHP: 7.4.30 https://album.chauvigne.info/ v.12.3.0  PHP: 8.0.22
Système d'exploitation: Linux - Hébergeur 1&1-Ionos - MySQL: 5.7.38
Bibliothèque graphique: External ImageMagick 6.9.10-23

Hors ligne

#6 2021-06-14 19:13:45

k5
Équipe Piwigo
La reppe
2014-01-26
891

Re: Ordre aléatoire des albums en page d'accueil

Bonjour,
essayer [random album=56]
le 56 est le numero de l'album
A très vite


Beta test sur Github Codespaces !!!

Hors ligne

#7 2021-06-14 19:28:45

Katryne
Membre
Provence
2016-12-03
1203

Re: Ordre aléatoire des albums en page d'accueil

Merci, mais je ne pense pas : ce code sert à insérer UNE photo prise au hasard dans l'album 56.
Ce que je cherche , c'est afficher aléatoirement l'ordre des albums dans la page de toutes les catégories (chez moi : la page d'accueil)


https://photos.revestou.fr/  v.12.2 PHP: 7.4.30 - https://dardennes.revestou.fr/ v.11.5 - http://photos.katrynou.fr/ v.11.5 PHP: 7.4.30 https://album.chauvigne.info/ v.12.3.0  PHP: 8.0.22
Système d'exploitation: Linux - Hébergeur 1&1-Ionos - MySQL: 5.7.38
Bibliothèque graphique: External ImageMagick 6.9.10-23

Hors ligne

#8 2021-09-22 06:46:43

Katryne
Membre
Provence
2016-12-03
1203

Re: Ordre aléatoire des albums en page d'accueil

Bonjour bonjour !
Qui aurait une petite idée pour cet affichage aléatoire de l'ordre des albums en accueil ? C'est pour donner à chacun sa chance et donner l'impression d'un site en perpétuel renouvellement ! Une piste ?


https://photos.revestou.fr/  v.12.2 PHP: 7.4.30 - https://dardennes.revestou.fr/ v.11.5 - http://photos.katrynou.fr/ v.11.5 PHP: 7.4.30 https://album.chauvigne.info/ v.12.3.0  PHP: 8.0.22
Système d'exploitation: Linux - Hébergeur 1&1-Ionos - MySQL: 5.7.38
Bibliothèque graphique: External ImageMagick 6.9.10-23

Hors ligne

#9 2021-09-22 18:08:33

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16209

Re: Ordre aléatoire des albums en page d'accueil

Bonjour

Katryne a écrit:

Bonjour bonjour !
Qui aurait une petite idée pour cet affichage aléatoire de l'ordre des albums en accueil ? C'est pour donner à chacun sa chance et donner l'impression d'un site en perpétuel renouvellement ! Une piste ?

A ma connaissance aujourd'hui cela n'est pas prévu


je peux te donner des pistes pour développer un plugin mais je connais ta réponse ;-)


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

  •  » Utilisation
  •  » Ordre aléatoire des albums en page d'accueil

Pied de page des forums

Propulsé par FluxBB

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