Bonjour,
Je cherche a modifier Community pour lui ajouter le préremplissage du champ "Auteur" avec le login de l'utilisateur.
Pour cela j'ai cherché dans le add_photo.tpl, localisé l'endroit qui va bien et j'essaie d'afficher simplement le contenu de la variable $user['username'] mais ... ca cafouille :-/ help :)
{php}
$my_file_name = $this->get_template_vars($user['username']);
echo $my_file_name;
{/php}
Me retourne < Array > je ne comprends pas pourquoi.
Merci
Hors ligne
Bonjour
désolé mais... votre code ne rime absolument à rien
"get_template_vars" sert à récupérer des varaibles déjà assignés, là je sais pas trop ce que vous voulez en faire vu que vous donnez en paramètre le nom d'utilisateur
bref faites comme ceci :
{php}
echo $user['username'];
{/php}
cependant l'utilisation des tags {php} est très déconseillée, il faut mieux modifier les fichier php correspondant pour faire un
$template->assign('username', $user['username']);
et dans le template: {$username}
second point : ces modifs sauterons à la prochaine mise à jour du plugin, vous devriez faire un plugin perso avec un préfiltre (c'est dispo dans la documentation)
enfin pour cette donnée spécifique (nom d'utilisateur courant) est déjà disponible dans la variable de template {$USERNAME} donc pas la peine de la réassigner
Hors ligne
Merci beaucoup mistic beaucoup de réponses dans un seiul post :)
{php}
echo $user['username'];
{/php}
dans le .tpl ne fonctionne pas, cela n'affiche rien, c'est pour ca que j'ai cherché plus loin, et plus ... compliqué en me basant sur des chose trouvées sur le forum.
J'ai un peu de mal avec smarty ^^
Je vais regarder du coté des préfiltres, cela permet il de faire des modifications sur les templates des PLUGINS ?
Peut on avoir la liste des variables déjà assignées pour smarty ?
Pour community le préremplissage avait déjà du être prévu avec $AUTHOR mais chez moi ca n'a jamais marché, la case est toujours vide, en définissant $AUTHOR = $USERNAME ca marche.
Bonne journée :)
EDIT : J'ai rien trouvé sur la doc FR mais ceci sur la doc US :
http://piwigo.org/doc/doku.php?id=dev:plugin_tutorial2
Dernière modification par soussou63 (2013-02-16 09:24:39)
Hors ligne
J'ai testé ceci en plugin personnel :
<?php /* Plugin Name: Plugin Personnel Version: 1.0 Description: Plugin Personnel Plugin URI: http://piwigo.org Author: Author URI: */ global $template; $template->set_prefilter('add_photos', 'add_photos_perso'); function add_photos_perso($content, &$smarty) { $search = '<input type="text" class="large" name="name" value="{$NAME}">'; $replacement = '<input type="text" class="large" name="name" value="NOMTEST">'; return str_replace($search, $replacement, $content); } ?>
avec
// On force la recompilation smarty pour bien afficher le resultat des préfiltres.
$conf['template_force_compile'] = true;
en conf locale et j'ai purgé les templates précompilés smarty depuis Maintenance.
Pour l'instant cela ne fonctionne pas :-(
Hors ligne
ça ne vous balance pas une grosse erreur ça ? du style
Fatal error: Call to a member function set_prefilter() on a non-object
ce qui est tout a fait normal au passage (il y a des explications dans http://piwigo.org/svn/extensions/skeleton)
faites :
<?php /* Plugin Name: Plugin Personnel Version: 1.0 Description: Plugin Personnel Plugin URI: http://piwigo.org Author: Author URI: */ add_event_handler('init', 'my_plugin'); function my_plugin() { global $template; $template->set_prefilter('add_photos', 'add_photos_perso'); function add_photos_perso($content, &$smarty) { $search = '<input type="text" class="large" name="name" value="{$NAME}">'; $replacement = '<input type="text" class="large" name="name" value="NOMTEST">'; return str_replace($search, $replacement, $content); } } ?>
(si votre gallerie est bloquée, modifiez à la main le fichier plugins/PersonalPlugin/main.inc.php)
ps : ne laissez pas $conf['template_force_compile'] = true; en production
Hors ligne
Aucune erreur n'apparaissait ... et pour cause ... !
Je pensais que le plugin perso de LocalFileEditor était d'office activé, mais en fait il faut aller dans la gestion des plugins l'activer en plus de LocalFileEditor.
Vraiement très modulaire ce piwigo !
J'ai reussi mon affichage de test.
Merci mistic100
Hors ligne