Annonce

É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)

TOnin
2022-07-06 09:23:54

Je pense que l'idée est que dans la liste des albums, la vignette représentative de chaque album soient automatiquement la première image de chaque album, au sens de première dans l'ordre alphabétique.

Pour réaliser cela de manière automatique, je propose une requête SQL pour mettre à jour la base de donnée après une série d'importations. Cela nécessite de pouvoir accéder à PHPMyAdmin (par exemple), ou de développer un plugin adéquat.

Un première requête préliminaire pour voir l'association entre album, image représentative actuelle, et image représentative espérée

Code:

-- Aperçu des albums, de leur image représentative, et de l'image représentative espérée
SELECT CAT.`id`, CAT.`representative_picture_id`, IMG.`id` AS first_img_id, MIN(IMG.`name`)
FROM `pwg_categories` AS CAT LEFT JOIN `pwg_image_category` AS J ON CAT.`id` = J.`category_id` LEFT JOIN `pwg_images` AS IMG ON J.`image_id` = IMG.`id`
GROUP BY CAT.`id`

Une seconde requête préliminaire pour ne voir que les albums qui n'ont pas l'image représentative espérée

Code:

-- Aperçu des albums dont l'image représentative n'est pas la première image par ordre alphabétique
SELECT * FROM (SELECT CAT.`id`, CAT.`representative_picture_id`, IMG.`id` AS first_img_id, MIN(IMG.`name`)
FROM `pwg_categories` AS CAT LEFT JOIN `pwg_image_category` AS J ON CAT.`id` = J.`category_id` LEFT JOIN `pwg_images` AS IMG ON J.`image_id` = IMG.`id`
GROUP BY CAT.`id`) AS REPRESENTATIVES_PICTURES_LIST
WHERE `representative_picture_id` != `first_img_id`

Si les requêtes précédentes sont conformes à ce qui est espéré, alors la requête de mise à jour peut-être lancée (attention, pas de retour arrière possible, donc prendre ses dispositions de sauvegarde par exemple)

Code:

-- Mise à jour de l'image représentative en choisisant la première par ordre alphabétique
UPDATE `pwg_categories` AS CAT_NEW LEFT JOIN (SELECT CAT.`id`, CAT.`representative_picture_id`, IMG.`id` AS first_img_id, MIN(IMG.`name`)
FROM `pwg_categories` AS CAT LEFT JOIN `pwg_image_category` AS J ON CAT.`id` = J.`category_id` LEFT JOIN `pwg_images` AS IMG ON J.`image_id` = IMG.`id`
GROUP BY CAT.`id`) AS CAT_UPDATE ON CAT_NEW.`id` = CAT_UPDATE.`id`
SET CAT_NEW.`representative_picture_id` = CAT_UPDATE.`first_img_id` ;

Quelques lectures utiles : https://mariadb.com/kb/en/min/ et https://ubiq.co/database-blog/get-first … oup-mysql/

Katryne
2022-07-06 07:44:43

Je comprends pas trop le problème.
Pour la vignette représentante de l'album, ya le bouton "Représentante" dans la barre  de menu en affichage photo.
Et pour l'ordre des photos, ya un onglet "Ordre des photos" dans la gestion de chaque album, avec soit l'ordre manuel soit un ordre automatique, avec plusieurs critères disponibles, qui peuvent être cumulatifs, genre : par date, puis par auteur puis alphabétique. Donc quand on crée un album, on peut de suite  spécifier dans quel ordre les photos qui y seront téléversées devront être affichées.

oliverfr
2022-07-06 00:35:26

(Le sujet avait déjà été abordé l'an dernier, https://fr.piwigo.org/forum/viewtopic.php?id=29474 , puis j'avais oublié le truc; c'est récemment qu'on m'en a parlé de nouveau ce qui me l'a rappelé. Je crée un nouveau sujet pour ne pas tout mélanger)

oliverfr
2022-07-06 00:34:24

Bonjour,

Debian Buster, Piwigo 12.3.0, au sujet d'une chose observée depuis le premier piwigo 12.x

Le Piwigo que j'héberge a un fonctionnement qui m'échappe un peu, mais je mettrai plutôt en cause mon serveur : la vignette d'un album uploadé semble au premier abord choisie aléatoirement parmi les photos mises en ligne.

Je dis "au premier abord" et "aléatoirement", parce que je comprends pas comment on en arrive là.

Par principe, piwigo choisit la 1e image uploadée dans un album, comme la vignette de l'album.
OK.
Mais alors, pour une raison quelconque, la 1e image uploadée n'est pas la 1e image selon un tri alphabétique.

Je veux dire, comment illustrer... Un dossier avec "image 01.png" ... "image 06.png" ... "image 12.png", je clique pour uploader des photos, créer un album, sélectionner des photos, ça ouvre l'explorateur windows, je fais control-A pour tout sélectionner, oui vas-y uploader, et au final, ça pourrait être n'importe laquelle des 12 images qui aura été choisie pour être la vignette.

Allez savoir. Soit mon serveur fonctionne bizarrement et n'envoie pas le bon fichier en premier, soit les amis pour qui je l'héberge ont bricolé dans mon dos sans me le dire (hautement improbable mais qui sait), soit, je sais pas, un bug super rare et improbable avec piwigo (personne ne le mentionne dans les forums, tant mieux !), soit l'explorateur windows qui fait des siennes dans la communication, je ne sais vraiment pas.
Et peu importe en fait, ça n'affecte que moi, et ça n'est pas grave de toutes façons.

Au besoin, je sais qu'on peut, dans l'édition des images, les assigner comme vignette principale pour un album, donc le jour où c'est important, il y a cette option.

Cela devrait m'être indifférent, mais c'est comme une démangeaison qui ne veut pas partir, j'aimerais bien que ça tombe sur la 1e image, selon un tri alphabétique, ici donc "image 01.png".

S'il vous plaît, connaîtriez-vous un moyen de forcer ce paramètre, dans piwigo ?

Merci si vous avez une idée à ce sujet, et ne vous épuisez pas sinon, c'est vraiment mineur comme questionnement :)

Pied de page des forums

Propulsé par FluxBB

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