#1 2007-05-03 18:12:46

flipflip
Membre
Lyon
2005-03-19
2316

[1.7.0RC2]event_trigger sous les vignettes

Salut, j'essai d'ajouter un éléments sous chaques vignettes qui s'affichent lorsque l'on est dans une catégorie. J'ai trouvé 3 entrées :
- loc_begin_index_thumbnails;
- loc_end_index_thumbnails;
- loc_index_category_thumbnail.
Mais aucune ne correspond à ce que je cherche. Il y a possibilité d'en ajouter facilement ?


Le cerveau à des capacités tellement étonnantes qu’aujourd’hui pratiquement tout le monde en à un

Mon site : http://www.blogoflip.fr

Hors ligne

#2 2007-05-03 19:32:51

rvelices
Équipe Piwigo
2005-12-29
1417

Re: [1.7.0RC2]event_trigger sous les vignettes

- les actions pour les vignettes des categories sont:
loc_begin_index_category_thumbnails, loc_index_category_thumbnail, loc_end_index_category_thumbnails

- les actions pour les vignettes des images sont:
loc_begin_index_thumbnails, loc_index_thumbnail, loc_end_index_thumbnails

donc je suppose que c'est loc_index_thumbnail que tu cherches ...

Hors ligne

#3 2007-05-04 10:55:51

flipflip
Membre
Lyon
2005-03-19
2316

Re: [1.7.0RC2]event_trigger sous les vignettes

Salut, bon j'ai continué à fouillé. Dans mon fichier main.inc.php j'ai ajouté ça :

Code:

add_event_handler('loc_end_index_thumbnails', array(&$DlMulti, 'category_toto') );

Et la fonction ressemble à ça :

Code:

  function category_toto()
  {
    global $template;
    $template->assign_block_vars('thumbnails.line.thumbnail.',
      array(
        'INPUT' => 'too',
      )
    );
  }

Ca me génère pas d'erreur, mais ça m'affiche rien en dessous de chaque vignette. Surement parce que INPUT n'est pas dans le fichier thumbnail.tpl, donc maintenant reste à trouver comment l'ajouter sans modifier le fichier.


Le cerveau à des capacités tellement étonnantes qu’aujourd’hui pratiquement tout le monde en à un

Mon site : http://www.blogoflip.fr

Hors ligne

#4 2007-05-04 13:18:54

rvelices
Équipe Piwigo
2005-12-29
1417

Re: [1.7.0RC2]event_trigger sous les vignettes

C'est plutot loc_index_thumbnail que tu dois surcharger.

Tu veux mettre qq chose pour chacune des vignettes. begin et end sont appeles une seule fois, mais loc_index_thumbnail est appele chaque fois.

Hors ligne

#5 2007-05-07 13:56:18

flipflip
Membre
Lyon
2005-03-19
2316

Re: [1.7.0RC2]event_trigger sous les vignettes

remoi, je continue mes recherches. J'ai bien réussi à faire marché mon bazar avec ce code cette fois :

Code:

  function category_toto()
  {
    global $template;
    $template->assign_block_vars('thumbnails.line.thumbnail.element_name',
      array(
        'INPUT' => 'too',
      )
    );
    
    $template->assign_var_from_handle('THUMBNAILS', 'thumbnails');
  }

L'appel lui n'a pas changé. Donc à cette état rien ne s'affiche dans thumbnail.tpl. Normal puisque la variable INPUT n'est pas dans le fichier, il faut rajouter :

Code:

      <!-- BEGIN element_name -->
      {thumbnails.line.thumbnail.element_name.NAME}
      {thumbnails.line.thumbnail.element_name.INPUT} <-- Code rajouté
      <!-- END element_name -->

Est-ce qu'il y a possibilité d'ajouter une variable sans modifier les fichiers tpl ?


Le cerveau à des capacités tellement étonnantes qu’aujourd’hui pratiquement tout le monde en à un

Mon site : http://www.blogoflip.fr

Hors ligne

#6 2007-05-07 14:18:38

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [1.7.0RC2]event_trigger sous les vignettes

Tu connais déjà la réponse sans doute...

La seule chose que tu peux sans doute faire est de modifier le contenu de
thumbnails.line.thumbnail.element_name.NAME

Je n'ai pas essayé mais j'imagine bien que cela devrait se faire (Cf. nouvelles fonctions apportées par rvelices).

C'est pour cela que j'avais lancé des idées d'évolutions des templates.

8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#7 2007-05-07 14:38:58

flipflip
Membre
Lyon
2005-03-19
2316

Re: [1.7.0RC2]event_trigger sous les vignettes

C'est bien ce qu'il me semblais. D'un autre côté je suis exigeant ce n'est que la premiere version du gestionnaire de plugin. On ne peux pas tout avoir au premier coups. Donc pour le moment il y aura toujours une petite intervention à faire dans les fichiers tpl.

Au contraire on peut envisager dans la procédure d'installation la copie d'un nouveau fichier tpl, reste à savoir comment faire pour gérer les modifications déjà faite par le webmaster.

... Je viens de tester l'idée de VDigital avec la variable NAME et ça marche

Code:

  function category_thumbnail($row)
  {
    global $template;
    $template->assign_block_vars('thumbnails.line.thumbnail.element_name',
      array(
        'NAME' => '<input type="checkbox" name="id_images[]" value="'.$row['id'].'">',
      )
    );
  }

Ca ajoute bien à la variable existante. Bon au contraire bizarrement les cases s'affichent en haut à gauche au lieu d'être avant ou après le nom de l'image.

Dernière modification par flipflip (2007-05-07 14:41:30)


Le cerveau à des capacités tellement étonnantes qu’aujourd’hui pratiquement tout le monde en à un

Mon site : http://www.blogoflip.fr

Hors ligne

#8 2007-05-07 15:01:26

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [1.7.0RC2]event_trigger sous les vignettes

Comme ça de mémoire, je n'ai pas ce qu'il faut pour chercher...
Mais il doit y avoir une autre fonction que assign_block_vars...
Tu dois d'abord récupérer la valeur de NAME.
Puis la modifier ou la supprimer avant de l'affecter.

Cela veut dire que:

Le template avait des balises ouvertes <div><ul><li><a> il faut que tu en tiennes compte et que celle-ci (ou d'autres) soient ouvertes même après ta modification afin qu'un autre plugins puisse agir tout comme le tien, et que les balises fermantes du template agissent sans erreur.

8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#9 2007-05-07 16:25:01

flipflip
Membre
Lyon
2005-03-19
2316

Re: [1.7.0RC2]event_trigger sous les vignettes

Dans template.php j'ai bien trouvé concat_var() mais je vois pas trop comment l'utiliser. J'ai essayé :

Code:

    $template->concat_var('thumbnails.line.thumbnail.element_name.NAME', '<input type="checkbox" name="id_images[]" value="'.$row['id'].'">');

Mais ça m'affiche toujours le nom de l'image mais pas de case en vue.

Dernière modification par flipflip (2007-05-07 16:25:42)


Le cerveau à des capacités tellement étonnantes qu’aujourd’hui pratiquement tout le monde en à un

Mon site : http://www.blogoflip.fr

Hors ligne

#10 2007-05-08 13:01:49

rvelices
Équipe Piwigo
2005-12-29
1417

Re: [1.7.0RC2]event_trigger sous les vignettes

flipflip a écrit:

Code:

    $template->concat_var('thumbnails.line.thumbnail.element_name.NAME', '<input type="checkbox" name="id_images[]" value="'.$row['id'].'">');

concat_var marche seulement pour les variables non block (au meme niveau que assign_var ou assign_vars)
pour les variables block on a seulement merge_block_vars . mais il fonctionne comme le array_merge .

je te propose pour commencer de changer le template. Ensuite quand tu seras presque pret, tu me feras un zip et je vais essayer de regarder chez moi si c'est possible et comment faire sans modifier le template.

Hors ligne

#11 2007-05-08 13:36:40

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [1.7.0RC2]event_trigger sous les vignettes

rvelices a écrit:

concat_var marche seulement pour les variables non block (au meme niveau que assign_var ou assign_vars)
pour les variables block on a seulement merge_block_vars . mais il fonctionne comme le array_merge .

Bien vu !!!


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#12 2007-05-09 14:10:50

flipflip
Membre
Lyon
2005-03-19
2316

Re: [1.7.0RC2]event_trigger sous les vignettes

Salut.
Ok je vais modifier le fichier thumbnail.tpl et d'autres si nécessaire et ensuite je t'envoi le tout rvelices.
Je revient sur ce que tu m'a dit VDigital concernant les balises ouvertes. Donc avec le code suivant dans ma fonction :

Code:

  function category_thumbnail($row)
  {
    global $template;
    $template->assign_block_vars('thumbnails.line.thumbnail.element_name',
      array(
        'INPUT' => '<input type="checkbox" name="id_images[]" value="'.$row['id'].'">'
      )
    );
  }

Et avec ceci dans thumbnail.tpl :

Code:

      <span class="thumbLegend">
      <!-- BEGIN element_name -->
      {thumbnails.line.thumbnail.element_name.NAME}
      
      <!-- RAJOUT DownloadMulti -->
      {thumbnails.line.thumbnail.element_name.INPUT}
      <!-- RAJOUT DownloadMulti -->
      
      <!-- END element_name -->

Les cases à cocher s'affichent en haut à gauche de l'écran alors que si je vais dans la source via le navigateur, elles sont bien après le NAME. C'est là ou j'ai un peu (beaucoup) de mal à comprendre pourquoi. Ma fonction est appelé par le event_trigger qui lui se trouve après le bloc qui renseigne NAME. Alors je ne vois vraiment pas comment gérer la position des cases ?

Philippe.


Le cerveau à des capacités tellement étonnantes qu’aujourd’hui pratiquement tout le monde en à un

Mon site : http://www.blogoflip.fr

Hors ligne

#13 2007-05-09 14:24:39

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [1.7.0RC2]event_trigger sous les vignettes

flipflip a écrit:

Les cases à cocher s'affichent en haut à gauche de l'écran alors que si je vais dans la source via le navigateur, elles sont bien après le NAME. C'est là ou j'ai un peu (beaucoup) de mal à comprendre pourquoi. Ma fonction est appelé par le event_trigger qui lui se trouve après le bloc qui renseigne NAME. Alors je ne vois vraiment pas comment gérer la position des cases ?

On devrait pouvoir les placer un peu où on le souhaite avec du css, non?
8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#14 2007-05-09 14:49:16

flipflip
Membre
Lyon
2005-03-19
2316

Re: [1.7.0RC2]event_trigger sous les vignettes

ah... le css... bon ba j'suis mal alors :(
C'est vraiment un truc que j'ai du mal à comprendre :(

....
Formidable j'ai trouvé pour mettre mes cases à cocher :

Code:

  // Affiche les cases à cocher derrière le nom de l'image
  function DmCategory_thumbnail($row)
  {
    global $template;
    $template->assign_block_vars('thumbnails.line.thumbnail.element_name',
      array(
        'NAME' => '<span class="DmThumbnailInput"><input type="checkbox" name="id_images[]" value="'.$row['id'].'"></span>'
      )
    );
  }

  // Chargement de fichier dans l'entête du template
  function DmHeader()
  {
    global $template;
    $DmUrl = get_root_url().'plugins/download_multi/template/';
    $template->assign_block_vars('head_element',
      array(
        'CONTENT' => '<link rel="stylesheet" type="text/css" href="'.$DmUrl.'DownloadMulti.css">'
      )
    );
  }

Et dans le main.inc.php :

Code:

add_event_handler('loc_end_page_header', array(&$DlMulti,'DmHeader'));
add_event_handler('loc_index_thumbnail', array(&$DlMulti, 'DmCategory_thumbnail') );

Bien sur j'ai été obligé d'ajouter la variable INPUT (Edit : c'est plus nécessaire de modifer le fichier thumbnail.tpl) dans thumbnail.tpl mais c'est un autre problème.

Dernière modification par flipflip (2007-05-28 17:50:19)


Le cerveau à des capacités tellement étonnantes qu’aujourd’hui pratiquement tout le monde en à un

Mon site : http://www.blogoflip.fr

Hors ligne

Pied de page des forums

Propulsé par FluxBB

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