•  » Utilisation
  •  » [Résolu] Utilisation des triggers, je croyais avoir compris pourtant

#1 2011-03-05 17:49:18

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3555

[Résolu] Utilisation des triggers, je croyais avoir compris pourtant

Hello,
J'essaye de faire un plugin pour pouvoir afficher des albums comme des images dans la catégorie parente.
Pour le moment mon idée et de mettre un mot-clef dans la description de la catégorie pour la detection (meme fonctionnement que ExtendedDescription).

Une des étapes est de supprimer la catégorie de la liste des catégories :

Code:

add_event_handler('loc_begin_index_category_thumbnails', 'AAP_get_categories'); 

function AAP_get_categories($categories) {
  
  foreach ($categories as $id => $cat) {
    if (strpos($cat['comment'], '<!--is_thumb-->') !== false) {
      unset($categories[$id]);
    }
  }
  
  return $categories;
}

et là ça ne marche pas, en fait j'ai aussi essayé sur loc_end_index_category_thumbnails en agissant sur la variable de template, exactement comme ED, là ça marche

mais je voulais rester sur le begin, pour éviter tout le traitement suivant, qui ne sert à rien.
pourquoi on ne peut pas ?

Dernière modification par mistic100 (2011-03-05 20:33:07)

Hors ligne

#2 2011-03-05 18:48:42

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

Re: [Résolu] Utilisation des triggers, je croyais avoir compris pourtant

je n'ai pas regardé mais je dirais que $cat['comment'] est assigné après l'événement loc_begin_index_category_thumbnails


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

#3 2011-03-05 19:02:31

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3555

Re: [Résolu] Utilisation des triggers, je croyais avoir compris pourtant

nope,
j'ai mis un echo 'screugneugneu' dans mon test et il est bien affiché

en fait c'est comme si la trigger n'était pas pris en compte

Hors ligne

#4 2011-03-05 20:09:44

P@t
Équipe Piwigo
Nice
2007-06-13
5694

Re: [Résolu] Utilisation des triggers, je croyais avoir compris pourtant

En rajoutant un global $categories, ca devrait mieux fonctionner ;-)
Pas besoin de faire un return $categories, c'est un trigger_action.


P@t

Hors ligne

#5 2011-03-05 20:32:39

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3555

Re: [Résolu] Utilisation des triggers, je croyais avoir compris pourtant

ok ca marche

mais je comprend quand pas vraiment pourquoi il y a besoin de mettre la variable en global puisque qu'elle est donnée en paramètre de la fonction trigger_action

qu'elles sont les différences entre trigger_event et trigger_action ? et y a-t-il d'autres types ?

hs : et la doc sur PWG stuff ? ^^

Dernière modification par mistic100 (2011-03-05 20:35:52)

Hors ligne

#6 2011-03-05 21:09:28

P@t
Équipe Piwigo
Nice
2007-06-13
5694

Re: [Résolu] Utilisation des triggers, je croyais avoir compris pourtant

mistic100 a écrit:

mais je comprend quand pas vraiment pourquoi il y a besoin de mettre la variable en global puisque qu'elle est donnée en paramètre de la fonction trigger_action

Un trigger action ne renvoit rien... on lui donne la variable $categories et c'est tout. Si on a plusieurs event_handler sur un trigger action (avec une variable en paramètre comme $categories ici), alors c'est toujours la meme variable qui sera passée à la fonction.

Un trigger event par contre, prend obligatoirement une variable en paramètre contrairement au trigger action, et doit la renvoyer. S'il y a plusieurs event handler sur le trigger event, alors la variable sera passée de fonctions en fonctions, et chacune la modifiera.

Ton code aurait très bien fonctionné si on avait eut justement un trigger event à cet endroit:

Code:

$categories = trigger_event('loc_begin_index_category_thumbnails', $categories);

au lieu de

Code:

trigger_action('loc_begin_index_category_thumbnails', $categories);

PS: oui, je plublie PWG Stuffs ce soir ou demain et je vous explique ça... d'ailleurs, ca sera un trigger_event pour que plusieurs plugin puissent ajouter leur propre module à PWG Stuffs :-)


P@t

Hors ligne

#7 2011-03-05 22:26:26

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1967

Re: [Résolu] Utilisation des triggers, je croyais avoir compris pourtant

P@t a écrit:

mistic100 a écrit:

mais je comprend quand pas vraiment pourquoi il y a besoin de mettre la variable en global puisque qu'elle est donnée en paramètre de la fonction trigger_action

Un trigger action ne renvoit rien... on lui donne la variable $categories et c'est tout. Si on a plusieurs event_handler sur un trigger action (avec une variable en paramètre comme $categories ici), alors c'est toujours la meme variable qui sera passée à la fonction.

Un trigger event par contre, prend obligatoirement une variable en paramètre contrairement au trigger action, et doit la renvoyer. S'il y a plusieurs event handler sur le trigger event, alors la variable sera passée de fonctions en fonctions, et chacune la modifiera.

Depuis le temps que je me pose cette question...

P@t a écrit:

PS: oui, je plublie PWG Stuffs ce soir ou demain et je vous explique ça... d'ailleurs, ca sera un trigger_event pour que plusieurs plugin puissent ajouter leur propre module à PWG Stuffs :-)

Mince... Bravo et merci P@t !

Ça relance une vieille envie...: [Forum, topic 15459] Commentaire dans les catégories, [Forum, topic 16879] Commentaire pour une Categorie...

Hors ligne

#8 2011-03-05 22:28:10

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3555

Re: [Résolu] Utilisation des triggers, je croyais avoir compris pourtant

J'avais eu envie de faire ça... puis ça m'est sortit de la tête
si j'ai le temps....

Hors ligne

#9 2011-03-05 22:33:56

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1967

Re: [Résolu] Utilisation des triggers, je croyais avoir compris pourtant

mistic100 a écrit:

J'avais eu envie de faire ça...

Les commentaires pour une catégorie ?

mistic100 a écrit:

si j'ai le temps....

Volontiers ;-) !

Hors ligne

  •  » Utilisation
  •  » [Résolu] Utilisation des triggers, je croyais avoir compris pourtant

Pied de page des forums

Propulsé par FluxBB

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