•  » Utilisation
  •  » [Résolu] Utiliser l'icone "Montrer les Meta-données"

#1 2010-05-28 18:55:06

bmsenlis
Membre
2010-05-28
21

[Résolu] Utiliser l'icone "Montrer les Meta-données"

Bonjour,
comment peut-on utiliser l'icone "Montrer les metas-données du fichier" pour pointer sur un url défini dans un fichier de conf. ?
J'ai bien trouvé dans my-picture.tpl : href="{$U_METADATA}" ...
mais je n'ai pas trouvé le fichier contenant la variable $U_METADATA.
Pour précision :
nous avons complété la table image de piwigo avec des champs qui ne sont pas Exif ou IPTC. Jusqu'à maintenant je les faisais apparaître dans le bloc d'infos qui s'affiche sous chaque image en modifiant picture.php. Mais évidemment à chaque changement majeur de version, je perds mes modif. (comme ça vient de se passer avec le passage à la 2.1.1) et j'en ai un peu marre de modifier à chaque fois picture.php.
ALors si je pouvais simplement faire pointer l'icone des meta-données vers une page que je gérerai à coté, ça serait un grand pas en avant.
Alors comment faire ou si c'est plus simple comment introduire un icone dans la barre d'icones apparaissant avec picture.php ?
Merci

Hors ligne

#2 2010-05-28 19:08:46

Gotcha
Equipe Piwigo
Pierrelatte (26)
2007-03-14
13324

Re: [Résolu] Utiliser l'icone "Montrer les Meta-données"

bmsenlis a écrit:

Alors comment faire ou si c'est plus simple comment introduire un icone dans la barre d'icones apparaissant avec picture.php ?

Bonjour,

Prends exemple sur les plugins qui font déjà quelque chose de semblable (affichage d'une icône sur picture.php).

:-)


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#3 2010-05-28 20:28:44

gbo
Membre
Martigues
2006-11-01
1150

Re: [Résolu] Utiliser l'icone "Montrer les Meta-données"

bmsenlis,
Tu peux utiliser l'icone 'montrer les métadonnées ' pour afficher une page particulière ?
Mais tu perdra l'affichage des Exifs et Iptc.
1 - Est-ce ce que tu souhaites ?
2 - Sais-tu faire un plugin ?

Hors ligne

#4 2010-05-28 21:31:14

bmsenlis
Membre
2010-05-28
21

Re: [Résolu] Utiliser l'icone "Montrer les Meta-données"

Les infos Exif ou IPTC ne m'intéressent pas. Donc si je pouvais utiliser cet icone pour afficher les champs suppl. ça serait parfait.
Je ne me suis jamais penché sur la création d'un plugin. Mais pourquoi pas : je peux apprendre.

Hors ligne

#5 2010-05-29 20:53:49

gbo
Membre
Martigues
2006-11-01
1150

Re: [Résolu] Utiliser l'icone "Montrer les Meta-données"

Dans ton plugin personnel.

- il te faudra définir

global $template,  $lang;

- Assigner ce que tu veux dans 'U_METADATA'

$template->assign( 'U_METADATA','href de la page que tu veux')

- Changer le titre du bouton

$lang['Show file metadata'] =  'le texte qui te convient';

Bonne continuation.

Hors ligne

#6 2010-05-31 17:42:48

bmsenlis
Membre
2010-05-28
21

Re: [Résolu] Utiliser l'icone "Montrer les Meta-données"

Ci-dessous le contenu de mon 'plugin personnel' établi à partir de la doc. et de tes conseils.
Il y a encore pas mal de chose qui m'échappe. Je l'ai installé et activé ; sans résultat.

<?php
/*
Plugin Name: Plugin Personnel
Version: 1.0
Description: Plugin Personnel
Plugin URI: http://piwigo.org
Author: P. Villain
Author URI: localhost/alo
*/
/* empêche l'accès direct au fichier main.inc.php */
if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');

/* Remplace une partie du code par une autre dans un template */

function personal_replace_tpl_code()
{
  global $template, $lang ;

/* Assigner dans 'U_METADATA' la nouvelle valeur */

  $template->assign( 'U_METADATA','http://www.google.fr');

/* Changer le titre du bouton de meta-données */

  $lang['Show file metadata'] =  'Informations complémentaires';

}

?>

Hors ligne

#7 2010-05-31 18:55:01

gbo
Membre
Martigues
2006-11-01
1150

Re: [Résolu] Utiliser l'icone "Montrer les Meta-données"

bmsenlis a écrit:

Ci-dessous le contenu de mon 'plugin personnel' établi à partir de la doc. et de tes conseils.
Il y a encore pas mal de chose qui m'échappe. Je l'ai installé et activé ; sans résultat.

<?php
/*
Plugin Name: Plugin Personnel
Version: 1.0
Description: Plugin Personnel
Plugin URI: http://piwigo.org
Author: P. Villain
Author URI: localhost/alo
*/
/* empêche l'accès direct au fichier main.inc.php */
if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');


Add_event_handler( 'loc_end_picture','personal_replace_tpl_code')


/* Remplace une partie du code par une autre dans un template */

function personal_replace_tpl_code()
{
  global $template, $lang ;

/* Assigner dans 'U_METADATA' la nouvelle valeur */

  $template->assign( 'U_METADATA','http://www.google.fr');

/* Changer le titre du bouton de meta-données */

  $lang['Show file metadata'] =  'Informations complémentaires';

}

?>

il te manque le trigger sur la page picture

Add_event_handler( 'loc_end_picture','personal_replace_tpl_code')

Que je viens d'ajouter dans le code ci-dessus.

Dernière modification par EX-FTB (2010-05-31 18:56:19)

Hors ligne

#8 2010-05-31 22:59:37

bmsenlis
Membre
2010-05-28
21

Re: [Résolu] Utiliser l'icone "Montrer les Meta-données"

Génial, ça marche.
Mais j'aimerai comprendre la syntaxe de :
Add_event_handler( 'loc_end_picture','personal_replace_tpl_code')

Que signifie : Add_event_handler et loc_end_picture
J'ai bien compris que : personal_replace_tpl_code renvoie sur le nom de la fonction.

Pour aller au bout de mon idée, il faut que je récupére  l'id de l'image affichée afin de pouvoir sélectionner les infos correspondante. Je déclare donc une variable $url qui me permet de construire le chemin de ma page php :

  global $template, $lang, $url ;
  $url='http://fr.wikipedia.org?idimg='.'[$current.id]';

et je passe la variable dans :

$template->assign( 'U_METADATA', $url);

Malheureusement, je n'arrive pas à trouver la bonne syntaxe pour obtenir le bon résultat :
http://fr.wikipedia.org?idimg=25518
Je n'obtiens que :
http://fr.wikipedia.org/?idimg=
http://fr.wikipedia.org/?idimg=[$current.id]

Hors ligne

#9 2010-05-31 23:06:42

tosca
Former Piwigo Team
Cévennes (Gard)
2006-09-23
3818

Re: [Résolu] Utiliser l'icone "Montrer les Meta-données"

bmsenlis a écrit:

Mais j'aimerai comprendre la syntaxe de :
Add_event_handler( 'loc_end_picture','personal_replace_tpl_code')

Que signifie : Add_event_handler et loc_end_picture
J'ai bien compris que : personal_replace_tpl_code renvoie sur le nom de la fonction.

Lorsque survient l'événement 'loc_end_picture' ça déclenche l'appel à la fonction 'personal_replace_tpl_code'.

Dernière modification par tosca (2010-05-31 23:07:23)

Hors ligne

#10 2010-05-31 23:10:29

tosca
Former Piwigo Team
Cévennes (Gard)
2006-09-23
3818

Re: [Résolu] Utiliser l'icone "Montrer les Meta-données"

bmsenlis a écrit:

$url='http://fr.wikipedia.org?idimg='.'[$current.id]';

Malheureusement, je n'arrive pas à trouver la bonne syntaxe pour obtenir le bon résultat :

Pas sûre de moi du tout sur ce coup-là, mais j'essaierais bien de voir ce que donne :

Code:

  $url='http://fr.wikipedia.org?idimg='.$current.id;

(et ajuster ensuite éventuellement en fonction du résultat que ça donne).

EDIT : après réflexion, ça ne va sûrement pas le faire, à cause du point entre $current et id ; d'ailleurs, je ne comprends pas d'où sort ce point ... mais je suis loin de tout comprendre :/

Dernière modification par tosca (2010-05-31 23:13:06)

Hors ligne

#11 2010-06-01 13:33:18

bmsenlis
Membre
2010-05-28
21

Re: [Résolu] Utiliser l'icone "Montrer les Meta-données"

Effectivement ça donne :

http://fr.wikipedia.org/?idimg=id

J'ai essayé différentes syntaxes, sans résultat.

Hors ligne

#12 2010-06-01 13:55:39

tosca
Former Piwigo Team
Cévennes (Gard)
2006-09-23
3818

Re: [Résolu] Utiliser l'icone "Montrer les Meta-données"

Essayons de comprendre, en attendant qu'un de nos spécialistes viennent à notre rescousse ;-)

Si je comprends bien

Code:

$current.id

restitue la chaîne de caractères 'id' ...

Que t'attendais-tu à trouver dans $current ?
Qu'est censé vouloir dire le .id qui le suit ? (si tu ne sais pas, tu as quand même du trouver cette expression quelque part)

Hors ligne

#13 2010-06-01 19:46:41

bmsenlis
Membre
2010-05-28
21

Re: [Résolu] Utiliser l'icone "Montrer les Meta-données"

J'ai trouvé !

/****************************************************
global $template, $lang, $num, $picture, $url ;
 
  $num=$picture['current']['id'];

  $url='http://fr.wikipedia.org?idimg='.$num;

/* Assigner dans 'U_METADATA' la nouvelle valeur */

  $template->assign( 'U_METADATA', $url);

/****************************************************

et ça donne : http://fr.wikipedia.org/?idimg=1586
je devrai pouvoir récupérer la variable 'idimg=1586' pour interroger la table phpwebgallery_images et ressortir les infos suppl. de l'image 1586.
Je ne sais pas si l'anti-slash qui se place après org, va me poser problème ? Je vais tester.

Hors ligne

#14 2010-06-01 20:06:58

tosca
Former Piwigo Team
Cévennes (Gard)
2006-09-23
3818

Re: [Résolu] Utiliser l'icone "Montrer les Meta-données"

bmsenlis a écrit:

$num=$picture['current']['id'];

$url='http://fr.wikipedia.org?idimg='.$num;

Là, je comprends ;-)

Dernière modification par tosca (2010-06-01 20:07:14)

Hors ligne

#15 2010-06-05 22:35:13

bmsenlis
Membre
2010-05-28
21

Re: [Résolu] Utiliser l'icone "Montrer les Meta-données"

Bonsoir,
de retour ; je poursuis la construction de mon plugin.
Je souhaiterai que la page à ouvrir soit appelée par une fonction javascript afin de contrôler la position et la taille. J'ai essayé le code suivant  :

$num=$picture['current']['id'];
  $url='plugins/PersonalPlugin/index.php?idimg='.$num;
  $js='"#" onClick="window.open($url)" width="50" height="50" border="0" return false';
$template->assign( 'U_METADATA', $js);

Le résultat est qu'il m'affiche le lien de base de Piwigo :
http://localhost/alo/picture.php?/2260/category/187

Hors ligne

  •  » Utilisation
  •  » [Résolu] Utiliser l'icone "Montrer les Meta-données"

Pied de page des forums

Propulsé par FluxBB

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