Annonce

  •  » Utilisation
  •  » Fond couleur des miniatures différent suivant critère

#16 2008-02-15 11:03:26

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Fond couleur des miniatures différent suivant critère

Oui oui, c'est tout à fait faisable en plugin perso...
Je te donnerai le code cet après midi ;-)


P@t

Hors ligne

#17 2008-02-15 11:24:12

Nicco
Membre
Paris - Val de Marne
2006-05-12
1794

Re: Fond couleur des miniatures différent suivant critère

aaaaaaaaaaah mon copain p@t ... PF pour les intime HAHAHA


Nicco Starrrr ..... voici ma galerie http://gallery-nicco.no-ip.org & ma passion http://bd-nicco.no-ip.org
version PWG 1.7.1 + de nombreux plugins actifs (trop pour les énumérer)

Hors ligne

#18 2008-02-15 16:29:59

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Fond couleur des miniatures différent suivant critère

Et voila le bout de code, avec en rouge le nom du tag voulu, et un peu plus loin la couleur de fond voulue.

function get_personal_color_tags()
{
   global $template, $personal_color_tags;

   $personal_color_tags = array();
   $query = '
SELECT itt.image_id
FROM '.IMAGE_TAG_TABLE.' AS itt
INNER JOIN '.TAGS_TABLE.' as tt
ON tt.name = "Mon Tag" AND itt.tag_id = tt.id;';
   $result = pwg_query($query);

   while($row = mysql_fetch_assoc($result))
   {
      $personal_color_tags[] = $row['image_id'];
   }

   $tpl_code = '
<!-- BEGIN color_tags -->
style="background-color:#FF0000;"
<!-- END color_tags -->
';
   $template->loadfile('thumbnails');
   $template->uncompiled_code['thumbnails'] =
             str_replace('"wrap2"',
                              '"wrap2"' . $tpl_code,
                              $template->uncompiled_code['thumbnails']);
}

function personal_color_tags($row)
{
   global $template, $personal_color_tags;

   if (in_array($row['id'], $personal_color_tags))
   {
      $template->assign_block_vars('thumbnails.line.thumbnail.color_tags', array());
   }
}

add_event_handler('loc_begin_index_thumbnails', 'get_personal_color_tags');
add_event_handler('loc_index_thumbnail' , 'personal_color_tags');

Dernière modification par P@t (2008-02-15 16:31:52)


P@t

Hors ligne

#19 2008-02-15 17:30:46

Nicco
Membre
Paris - Val de Marne
2006-05-12
1794

Re: Fond couleur des miniatures différent suivant critère

KOIIIIIIIIIIIIIIIII il y a pas de plugin complet avec une belle interface d'admin etc



arfarfar je rigole bien sur


Nicco Starrrr ..... voici ma galerie http://gallery-nicco.no-ip.org & ma passion http://bd-nicco.no-ip.org
version PWG 1.7.1 + de nombreux plugins actifs (trop pour les énumérer)

Hors ligne

#20 2008-02-16 16:27:50

Pierrot_Rennes
Membre
Cancale (35)
2007-03-22
1110

Re: Fond couleur des miniatures différent suivant critère

P@t a écrit:

Oui oui, c'est tout à fait faisable en plugin perso...
Je te donnerai le code cet après midi ;-)

Salut P@t,

Eh bien que dire de plus qu'un grand merci !!!!!!!!!!!!!!!!!!!!!!!!!!!

C'est exactement ce que je souhaitais, bravo mille fois donc !!!

Rapide et efficace comme toujours

Quand a un vrai plugin comme dit Nicco, pas sûr que cette demande spécifique à ma galerie soit d'une grand utilité dans le cadre d'une galerie normale...

Donc je suis très heureux avec ça !!! Bravo


Pierrot - Cancale (35) - puzzlesbd.net
Collection puzzles et objets de Bandes Dessinées
Piwigo 13.5.0 - PHP: 8.1.15 - MySQL: 10.5.18-MariaDB-cll-lve - ImageMagick 7.1.0-20
(Hébergeur : ex2)

Hors ligne

#21 2008-02-16 17:07:04

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Fond couleur des miniatures différent suivant critère

Bon, j'ai une solution bien plus élégante...
Qui permet de définir plusieurs associations de tags/Couleurs.

Code en plugin perso:

Code:

function get_personal_color_tags()
{
  global $template, $conf, $selection, $personal_color_tags;

  if (isset($conf['personal_color_tags']) and is_array($conf['personal_color_tags']))
  {
      foreach($conf['personal_color_tags'] as $tag => $value)
    {
      $array[] = '"' . $tag . '"';
    }

    $query = '
SELECT itt.image_id, tt.name
FROM '.IMAGE_TAG_TABLE.' AS itt
INNER JOIN '.TAGS_TABLE.' as tt
ON itt.tag_id = tt.id
WHERE tt.name IN ('. implode(',', $array) .')
AND itt.image_id IN ('. implode(',', $selection) .');';
    $result = pwg_query($query);

    while($row = mysql_fetch_assoc($result))
    {
      $personal_color_tags[$row['image_id']] = $conf['personal_color_tags'][$row['name']];
    }
    
    if (!empty($personal_color_tags))
    {
      $tpl_code = '
<!-- BEGIN color_tags -->
{thumbnails.line.thumbnail.color_tags.COLOR}
<!-- END color_tags -->
';
      $template->loadfile('thumbnails');
      $template->uncompiled_code['thumbnails'] = str_replace('"wrap2"',
                                 '"wrap2"' . $tpl_code,
                                   $template->uncompiled_code['thumbnails']);
    
      add_event_handler('loc_index_thumbnail' , 'personal_color_tags');
    }
  }
}

function personal_color_tags($row)
{
  global $template, $personal_color_tags;
  
  if (isset($personal_color_tags[$row['id']]))
  {
    $template->assign_block_vars('thumbnails.line.thumbnail.color_tags',
      array('COLOR' => 'style="background-color:' . $personal_color_tags[$row['id']] . '"'));
  }
}

add_event_handler('loc_begin_index_thumbnails', 'get_personal_color_tags');

Ensuite, dans le config_local.inc.php, il faut rentrer les associations Tag/couleur souhaitées:

$conf['personal_color_tags'] = array(
     'Mon Tag 1' => '#FF0000',
     'Mon Tag 2' => '#00FF00',
     'Mon Tag 3' => '#0000FF',
);

C'est-y pas beau tout ca? ;-)

Dernière modification par P@t (2008-02-16 20:54:35)


P@t

Hors ligne

#22 2008-02-16 17:23:57

Pierrot_Rennes
Membre
Cancale (35)
2007-03-22
1110

Re: Fond couleur des miniatures différent suivant critère

P@t a écrit:

Bon, j'ai une solution bien plus élégante...
...
C'est-y pas beau tout ca? ;-)

Que demande le peuple !!!

Je vais pouvoir signaler les échanges et les recherches

Chapeau !!!

Tiens ça me fait penser que j'ai une autre question (dans un nouveau post oeuf corse...;-)


Pierrot - Cancale (35) - puzzlesbd.net
Collection puzzles et objets de Bandes Dessinées
Piwigo 13.5.0 - PHP: 8.1.15 - MySQL: 10.5.18-MariaDB-cll-lve - ImageMagick 7.1.0-20
(Hébergeur : ex2)

Hors ligne

#23 2008-02-16 17:37:42

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Fond couleur des miniatures différent suivant critère

Oups, j'avais oublié un s dans l'exemple à rentrer dans le config_local.inc.php...
C'est corrigé


P@t

Hors ligne

#24 2008-02-16 17:38:20

Pierrot_Rennes
Membre
Cancale (35)
2007-03-22
1110

Re: Fond couleur des miniatures différent suivant critère

P@t a écrit:

Bon, j'ai une solution bien plus élégante...
...
C'est-y pas beau tout ca? ;-)

Euh... j'ai pas tout compris sur cette 2ème solution ou bien ça ne marche plus

J'ai remplacé ton 1er code (1 tag) par le deuxième (3 tags) dans Plugin perso
Puis j'ai copié le code dans conf local comme indiqué

J'ai renommé 'Mon Tag 1' par le nom du Tag désiré (il existe) 'Recherche'

Et là plus de vignette en fond rouge...

Problème ??


Pierrot - Cancale (35) - puzzlesbd.net
Collection puzzles et objets de Bandes Dessinées
Piwigo 13.5.0 - PHP: 8.1.15 - MySQL: 10.5.18-MariaDB-cll-lve - ImageMagick 7.1.0-20
(Hébergeur : ex2)

Hors ligne

#25 2008-02-16 17:39:32

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Fond couleur des miniatures différent suivant critère

J'avais oublié le s dans $conf['personal_color_tags'] du config_local.inc.php...
C'est corrigé dans le post...

Dernière modification par P@t (2008-02-16 17:39:50)


P@t

Hors ligne

#26 2008-02-16 17:44:44

Pierrot_Rennes
Membre
Cancale (35)
2007-03-22
1110

Re: Fond couleur des miniatures différent suivant critère

P@t a écrit:

J'avais oublié le s dans $conf['personal_color_tags'] du config_local.inc.php...
C'est corrigé dans le post...

Comme quoi je suis nul en code !!!
J'aurais du le voir un truc comme ça par rapport au 1er code !!!

Merci à toi, ça marche


Pierrot - Cancale (35) - puzzlesbd.net
Collection puzzles et objets de Bandes Dessinées
Piwigo 13.5.0 - PHP: 8.1.15 - MySQL: 10.5.18-MariaDB-cll-lve - ImageMagick 7.1.0-20
(Hébergeur : ex2)

Hors ligne

#27 2008-02-16 18:11:42

Pierrot_Rennes
Membre
Cancale (35)
2007-03-22
1110

Re: Fond couleur des miniatures différent suivant critère

blake35 a écrit:

P@t a écrit:

J'avais oublié le s dans $conf['personal_color_tags'] du config_local.inc.php...
C'est corrigé dans le post...

Comme quoi je suis nul en code !!!
J'aurais du le voir un truc comme ça par rapport au 1er code !!!

Merci à toi, ça marche

Juste une erreur quand je vais sur certaines catégories...

J'ai cela qui s'affiche en Header :

Notice: Undefined variable: personal_color_tags in /home.38/c/a/r/cartespu/www/plugins/PersonalPlugin/main.inc.php on line 113

Warning: Cannot modify header information - headers already sent by (output started at /home.38/c/a/r/cartespu/www/plugins/PersonalPlugin/main.inc.php:113) in /home.38/c/a/r/cartespu/www/include/page_header.php on line 103


Pierrot - Cancale (35) - puzzlesbd.net
Collection puzzles et objets de Bandes Dessinées
Piwigo 13.5.0 - PHP: 8.1.15 - MySQL: 10.5.18-MariaDB-cll-lve - ImageMagick 7.1.0-20
(Hébergeur : ex2)

Hors ligne

#28 2008-02-16 18:31:02

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Fond couleur des miniatures différent suivant critère

J'ai modifié le code dans le post précédent.
Attention, efface bien tout l'ancien code (add_event_handler compris!)


P@t

Hors ligne

#29 2008-02-16 20:44:15

Pierrot_Rennes
Membre
Cancale (35)
2007-03-22
1110

Re: Fond couleur des miniatures différent suivant critère

P@t a écrit:

J'ai modifié le code dans le post précédent.
Attention, efface bien tout l'ancien code (add_event_handler compris!)

J'ai refais le copier/coller, ça a l'air bon
Merci


Pierrot - Cancale (35) - puzzlesbd.net
Collection puzzles et objets de Bandes Dessinées
Piwigo 13.5.0 - PHP: 8.1.15 - MySQL: 10.5.18-MariaDB-cll-lve - ImageMagick 7.1.0-20
(Hébergeur : ex2)

Hors ligne

#30 2008-02-16 21:20:43

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Fond couleur des miniatures différent suivant critère

Arg... tu l'as copié pile quand je faisais un changement...
Du coup... boulette...

$tpl_code = '
<!-- BEGIN color_tags -->
{thumbnails.line.thumbnail.color_tags.COLOR};"
<!-- END color_tags -->
';

Il faut supprimer le ;"
C'est pas grave, mais du coup la syntaxe HTML est incorrecte ;-)


P@t

Hors ligne

  •  » Utilisation
  •  » Fond couleur des miniatures différent suivant critère

Pied de page des forums

Propulsé par FluxBB

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