Pages: 1
Bonjour
Je cherche un moyen de changer de façon aléatoire l'ordre des albums de premier niveau sur ma page d'accueil. Pas l'ordre des sous-albums. Pour que l'apparence de cette page d'accueil change à chaque rechargement de page.
Est-ce possible ?
Merci.
Dernière modification par Katryne (2025-05-27 21:06:30)
Hors ligne
J'ai vu [extension by persan] SortOrders mais j'ignore si ça conviendrait.
Tu peux peut-être aussi bricoler PWG Stuffs.
Dernière modification par polowigo (2025-05-29 07:50:03)
Hors ligne
Sort order, c'est pour les photos, pas pour les albums. Quand on regarde les options de tri pour les albums, ya des options par date, par ordre alphabétique etc, mais pas aléatoire, comme pour les photos. Donc, je pense pas qu'on puisse adapter un truc comme ça, que ce soit dans une page additionnelle ou avec PWGStuff, vu que ce tri aléatoire n'est pas dispo pour les albums.
Merci de tes suggestions, mon ami.
Dernière modification par Katryne (2025-05-29 09:50:31)
Hors ligne
J'ai trouvé la solution. Voyez mon site : https://album.chauvigne.info/
Non, j'ai menti : j'ai bien la recette et c'est GBO qui me l'a donnée. Un grand merci à lui. Et même avec 2 variantes, l'une crée un ordre aléatoire pour les albums de 1er niveau (chez moi, la page d'accueil), l'autre ajoute aussi l'aléa d'affichage sur tous les sous-albums :
Les plugins Local Files Editor et Plugin personnel étant activés, dans l'onglet Plugin personnel de Local files Editor, mettre :
/** pour ordre aléatoire des albums - Code GBO - albums 1er niveau seulement**/ add_event_handler('loc_begin_index_category_thumbnails_query','random_sort_album'); function random_sort_album($query){ global $page; if (empty($page['body_data']['category_id'])) // album level = 1 {$query = str_replace(' ORDER BY `rank`',' ORDER BY RAND()',$query);} return $query; }
ou
/** pour ordre aléatoire des albums - Code GBO - albums tous niveaux**/ add_event_handler('loc_begin_index_category_thumbnails_query','random_sort_album'); function random_sort_album($query){ $query = str_replace(' ORDER BY `rank`',' ORDER BY RAND()',$query); return $query; }
Hors ligne
Ben ça marche, quoi.
C'est la différence entre Polowigo et moi, entre le fin connaisseur et la bécassine du web.
Hors ligne
Gérard a trouvé que le résultat avec changement d'affichage à chaque rechargement de page était un peu violent (ce sont ses termes) pour le visiteur qui pouvait se trouver désorienté. Moi pas. J'aime bien le 100% aléatoire, c'est juste ce que je voulais : c'est un peu comme mon Husky qui fait croire à toute la vallée qu'il est toute une meute, en changeant d'emplacement et en modulant son hurlement.
Ce merveilleux code ajoute de la fantaisie, de l'inattendu et c'est seulement sur la home. Et si ça perturbe le visiteur, tant mieux. J'ai beau être stricte quand il s'agit de html (vois mes gueulantes réitérées sur les titres), mes Piwigos sont faits pour m'amuser. Je n'ai plus de compte à rendre à quiconque.
Alors GBO m'a fait parvenir 4 codes différents à entrer dans l'onglet Plugin personnel de Local Files Editor, selon que l'on applique l'aléa seulement aux albums de 1er niveau ou également aux sous-albums. Et selon que l'affichage aléatoire se mette en branle à chaque rechargement de page ou toutes les 3 heures.
Je partage, parce que ça pourrait amuser aussi quelque piwigiste.
Alors voilà :
1 - Ordre d'affichage des albums aléatoire à chaque chargement de page
1a - Pour tous les niveaux
/** pour ordre aléatoire des albums - Code GBO - albums tous niveaux**/ add_event_handler('loc_begin_index_category_thumbnails_query','random_sort_album'); function random_sort_album($query){ $query = str_replace(' ORDER BY `rank`',' ORDER BY RAND()',$query); return $query; }
1b- Seulement pour le niveau 1
/** pour ordre aléatoire des albums - Code GBO - albums 1er niveau seulement**/ add_event_handler('loc_begin_index_category_thumbnails_query','random_sort_album'); function random_sort_album($query){ global $page; if (empty($page['body_data']['category_id'])) // album level = 1 {$query = str_replace(' ORDER BY `rank`',' ORDER BY RAND()',$query);} return $query; }
2 - L'ordre d'affichage des albums change toutes les 3 heures
2a - Pour tous les niveaux
add_event_handler('loc_begin_index_category_thumbnails_query','random_sort_album'); function random_sort_album($query){ // Album sort order change every 3 hours ( 24/8) $sOrder = fmod(date("j") + date("H"),8); if ($sOrder > 0) { if ($sOrder == 1) $replace = ' ORDER BY name'; if ($sOrder == 2) $replace = ' ORDER BY comment'; if ($sOrder == 3) $replace = ' ORDER BY lastmodified'; if ($sOrder == 4) $replace = ' ORDER BY count_images '; if ($sOrder == 5) $replace = ' ORDER BY name DESC'; if ($sOrder == 6) $replace = ' ORDER BY comment DESC'; if ($sOrder == 7) $replace = ' ORDER BY lastmodified DESC'; $query = str_replace(' ORDER BY `rank`',$replace,$query); } return $query; }
2b - Seulement pour le niveau 1
add_event_handler('loc_begin_index_category_thumbnails_query','random_sort_album'); function random_sort_album($query) { global $page; if (empty($page['body_data']['category_id'])) // album level = 1 { $sOrder = fmod(date("j") + date("H"),8); if ($sOrder > 0) { if ($sOrder == 1) $replace = ' ORDER BY name'; if ($sOrder == 2) $replace = ' ORDER BY comment'; if ($sOrder == 3) $replace = ' ORDER BY lastmodified'; if ($sOrder == 4) $replace = ' ORDER BY count_images '; if ($sOrder == 5) $replace = ' ORDER BY name DESC'; if ($sOrder == 6) $replace = ' ORDER BY comment DESC'; if ($sOrder == 7) $replace = ' ORDER BY lastmodified DESC'; $query = str_replace(' ORDER BY `rank`',$replace,$query); } } return $query; }
Hors ligne
Pages: 1