#1 2025-04-01 17:07:51

Charles69
Membre
2023-01-12
360

Plugin - comment ne pas modifier un php

Bonjour,

Je poursuis mes investigations des plugins.
Je bricole un truc sur la taille des miniatures dans le traitement par lot des photos.

A un moment je suis amené à modifier en dur le fichier batch_manager_global.php, je remplace
$thumb_params = ImageStdParams::get_by_type(IMG_SQUARE);
par
$thumb_params = ImageStdParams::get_by_type(IMG_MEDIUM);
ce qui fonctionne parfaitement.

Je cherche la solution pour obtenir le même résultat avec les templates ?

J'ai essayé avec un add_event_handler avec
$qualite = 'IMG_MEDIUM'
$thumb_params_mod = ImageStdParams::get_by_type($qualite);
$template->assign('thumb_params', $thumb_params_mod);

sans succès ...

Hors ligne

#2 2025-04-01 22:10:27

lexi
Membre
2021-03-10
64

Re: Plugin - comment ne pas modifier un php

Tel que je comprends, tu as réussi à changer la taille des miniatures en changeant le paramètre d'une méthode

Code:

$thumb_params = ImageStdParams::get_by_type(IMG_MEDIUM);

Mais tu aimerais maintenant faire passer ta variable $thumb_params avec cette nouvelle valeur dans un template smarty mais tu n'y arrives pas ?

Je te conseillerai dans ce cas, de logger au maximum pour vérifier le cheminement de ton code quand tu lances ta page dans ton navigateur. Peut être que tu ne passes par la ligne de code auquel tu penses.


Piwigo 11.7 / Piwigo NG : 2.4.1
PHP: 8.2.29
Base de donnée: 5.5.5-10.5.11-MariaDB-1 [2021-10-15 11:35:03]
Graphics Library: GD 2.3.0

Hors ligne

#3 2025-04-03 14:25:52

Charles69
Membre
2023-01-12
360

Re: Plugin - comment ne pas modifier un php

bonjour lexi

Oui, c'est tout à fait ça.
Pour le redimensionnement de l'affichage des miniatures c'est facile en modifiant le css.
Mais si on ne modifie pas la qualité des images, celles ci sont floues.
En modifiant en dur dans le fichier batch_manager_global.php la ligne
$thumb_params = ImageStdParams::get_by_type(IMG_SQUARE);
par
$thumb_params = ImageStdParams::get_by_type(IMG_MEDIUM);
on obtient des images nettes.

Je cherche une solution pour arriver au même résultat sans modifier le fichier original .
Il y a bien un batch_manager_global.tpl, mais celui qui est utilisé pour générer le html est une version compilée.
ChatGPT qui répond 'bien sûr, je vais le faire' à toutes les solicitations prétend que la compilation du tpl interdit le changement de la variable par injection ...

Hors ligne

#4 2025-04-03 15:41:19

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

Re: Plugin - comment ne pas modifier un php

@Charles69

si la taille n'est pas envoyé au template(.tpl) il ne sera pas possible de l'utiliser

Donc il faut faire un fichier php pour envoyer au template la taille medium si tu souhaite l'utiliser et qu'elle ne l'ai pas

tu peux aussi regarder si elle ne l'est pas déjà sous une autre variable de template


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

#5 2025-04-04 21:05:05

Charles69
Membre
2023-01-12
360

Re: Plugin - comment ne pas modifier un php

Bonsoir,

Finalement j'en suis resté à la modification du php original.
J'ai ajouté un bouton de réinitialisation qui remet le php avec la valeur d'origine, si nécessaire.

Le plugin permet dans la Gestion par lot des photos de :
- redimensionner les vignettes
- choisir la qualité ( pour éviter le flou )
- choisir de redimensionner l'image en conservant les proportions ou de retailler l'image
- en bonus choisir les dimensions de la box : 'Sélectionner un album'

Vous pouvez l'essayer c'est par là : https://fr.piwigo.org/ext/index.php?eid=1015

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github linkedin newsletter Piwigo.org © 2002-2026 · Contact