P@t a écrit:
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 ;-)
C'est fait...
Merci ;-)
Hors ligne
oui oui c est mieux de le proposer en plugin comme ca d'autres trouveront peut etre une autre utilisation et comme ca tous peuvent l'utiliser
Hors ligne
P@t a écrit:
Je vais peut-etre en faire un petit plugin...
Nicco a écrit:
oui oui c est mieux de le proposer en plugin comme ca d'autres trouveront peut etre une autre utilisation et comme ca tous peuvent l'utiliser
Bonjour,
Merci à vous deux pour cette aide et ce soutien ;-))
Tout fonctionne désormais mais effectivement peut-être que la fonction ser finalement utile à quelqu'un d'autre ;-)
Hors ligne
blake35 a écrit:
P@t a écrit:
Je vais peut-etre en faire un petit plugin...
Nicco a écrit:
oui oui c est mieux de le proposer en plugin comme ca d'autres trouveront peut etre une autre utilisation et comme ca tous peuvent l'utiliser
Bonjour,
Merci à vous deux pour cette aide et ce soutien ;-))
Tout fonctionne désormais mais effectivement peut-être que la fonction sera finalement utile à quelqu'un d'autre ;-)
en tout cas, elle m'a inspiré grandement !
merci P@t pour ces quelques lignes de code
;-)
Dernière modification par repié38 (2008-02-18 14:08:39)
Hors ligne
blake35 ce qui serai vraiment top c est de prendre ton plugin perso que tu as fait pour ce cas la et en faire un vrai plugin !
comme ca tu deleste p@t et tu te lances comme createur de plugin
le plus du c est le premier tu vas voir !!!
et si tu veux je t aide a le finaliser ...
ok ?
Hors ligne
Nicco a écrit:
blake35 ce qui serai vraiment top c est de prendre ton plugin perso que tu as fait pour ce cas la et en faire un vrai plugin !
comme ca tu deleste p@t et tu te lances comme createur de plugin
le plus du c est le premier tu vas voir !!!
et si tu veux je t aide a le finaliser ...
ok ?
Bonsoir,
Faut que je trouve le temps ;-)
Mais je veux bien essayer sachant pertinemment que je vais ramer lolll
le code et moi on n'est pas bon amis !!!
Hors ligne
Alors, voila les modifs à faire pour piwigo...
Dans le config_local.inc.php (ou sont enregistrés les associations tag => couleur), rien ne change.
On aura donc par exemple:
//Gestion des couleurs de fond des vignettes
$conf['personal_color_tags'] = array(
'Recherche' => '#FF9C8E',
'Exchanges' => '#29A8FF'
);
Le bout de code dans le plugin perso change par contre:
function get_personal_color_tags() { global $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']]; } } } function personal_color_tags($tpl_var, $row) { global $personal_color_tags; if (isset($personal_color_tags[$row['id']])) { $tpl_var['COLOR_TAG'] = $personal_color_tags[$row['id']]; } return $tpl_var; } add_event_handler('loc_begin_index_thumbnails', 'get_personal_color_tags'); add_event_handler('loc_index_thumbnail' , 'personal_color_tags', 50, 2);
Et la nouveauté, c'est que l'on va avoir besoin d'un template extension...
Je pourrais le donner tel quel, mais ca fera un bon exercice...
Tout d'abord, il faut se rendre dans LocalFiles Editor, puis sélectionner l'onglet "template".
Ensuite, cliquer sur "Créer un nouveau fichier".
Comme nom de fichier, on met par exemple: thumbnails_color_tag (peut importe le nom)
Pour le dossier parent, on peut mettre template-extensions ou encore template-extensions/yoga (ici encore, peut importe!)
Comme modèle, on sélectionne yoga/thumbnails.tpl, puis on valide.
On se retrouve alors avec le thumbnails.tpl d'origine de yoga que l'on va modifier ainsi: ligne 8, remplacer:
<span class="wrap2">
Par
<span class="wrap2" {if isset($thumbnail.COLOR_TAG)}style="background-color: {$thumbnail.COLOR_TAG};"{/if}>
Puis on enregistre.
Enfin, rendez-vous dans Configuration -> Templates.
En face du nouveau fichier créé (thumbnails_color_tag.tpl), on sélectionne thumbnails.tpl dans la première colonne puis on valide.
Et voila... le tour est joué.
Hors ligne
Attention (rappel) : Solution valide pour Piwigo 2.0.x
Penser à renseigner $selection quand même quelque part !!!
Hors ligne
VDigital a écrit:
Penser à renseigner $selection quand même quelque part !!!
Non non! C'est une variable du script principal que j'ai mis en global...
Elle devrait plutot etre passée en paramètre du trigger.... mais bon, ca revient au meme ;-)
Hors ligne
J'ai bien lu que $selection était passé en global...
et oui, cela revient au même.
Mais avons-nous $selection quelque part dans piwigo?
(Je n'ai pas regardé) et ...
Est-ce que $selection va correspondre effectivement aux critères ("Fond couleur des miniatures différent suivant critère")? (la question initiale de Pierrot_Rennes)
Hors ligne
VDigital a écrit:
Mais avons-nous $selection quelque part dans piwigo?
Bien entendu, nous avons $selection quelque part dans piwigo!
Heureusement meme, sinon, ce plugin perso ne fonctionnerait pas!
include/category_default.inc.php, ligne 34:
$selection = array_slice(
$page['items'],
$page['start'],
$page['nb_image_page']
);
VDigital a écrit:
Est-ce que $selection va correspondre effectivement aux critères ("Fond couleur des miniatures différent suivant critère")? (la question initiale de Pierrot_Rennes)
Ceci est défini dans le config_local.inc.php ainsi:
$conf['personal_color_tags'] = array(
'Recherche' => '#FF9C8E',
'Exchanges' => '#29A8FF'
);
Hors ligne
P@t a écrit:
Alors, voila les modifs à faire pour piwigo...
...
Et voila... le tour est joué.
Bonjour P@t,
Tout d'abord merci pour la solution ;-)
Problème...
Je viens de suivre scrupuleusement la manip', l'ai faite deux fois, tout vérifié 3 fois mais...
Je n'ai pas la couleur en fond de vignette
J'ai bien créé les tags comme indiqué à la lettre près et vérifier mes copier/coller mais non pas de résultat...
Je te donne accès si tu veux
Amicalement
Pierre
Dernière modification par Pierrot_Rennes (2008-11-25 14:33:28)
Hors ligne
Ça va j'ai relu, et j'ai compris pourquoi j'avais cru voir un problème...
Tout vient de :
$array[] = '"' . $tag . '"';
(je suis passé trop vite dessus) et $array !!!
P@t,
Tu dois éviter de donner des mots du langage php aux variables car sinon on ne comprend vite plus rien.
J'explique par l'exemple.
if ($if = TRUE & $else != $true) $if = $else;
8-)
Hors ligne
VDigital a écrit:
Ça va j'ai relu, et j'ai compris pourquoi j'avais cru voir un problème...
Tout vient de :
$array[] = '"' . $tag . '"';
(je suis passé trop vite dessus) et $array !!!
P@t,
Tu dois éviter de donner des mots du langage php aux variables car sinon on ne comprend vite plus rien.
J'explique par l'exemple.
if ($if = TRUE & $else != $true) $if = $else;
8-)
Merci de vous préoccuper de moi c'est très sympa mais c'est du chinois pour moi là ;-)
J'attends vos directives !!!
Hors ligne