Bonjour comme tuto vous avez http://piwigo.org/doc/doku.php?id=plugi … ial1&s[]=skeleton
mais malheureusement à part comprendre par vous même, comme tout le monde fait, je n'ai pas d'autre solutions à vous proposer
Mais je viens de comprendre un détail important : le code que vous utilisez là me disait qqchose... et j'ai trouvé ! Vous utilisez de l'ancien code d'avant smarty !
Alors désormais pour manipuler de les chaines de caractères de tpl, regardez Image preview
Il y a :
/** thumbnails.tpl **/ add_event_handler('loc_end_index_thumbnails', 'imgpreview_thumbnails'); function imgpreview_thumbnails($tpl_thumbnails_var) { ...... $template->set_prefilter('index_thumbnails', 'imgpreview_prefilter_thumbnails'); .... } function imgpreview_prefilter_thumbnails($content, &$smarty) { global $template; $search = 'href="{$thumbnail.URL}"'; $replacement = 'href="{$thumbnail.URL}" imgsrc="{$thumbnail.FILE_PATH}"'; $content= str_replace($search, $replacement, $content); $content='{$IMGPREVIEW}'.$content; return $content; }
pour changer un bout de code à l'intérieur : str_replace($search, $replacement, $content);
pour concaténer $content='{$IMGPREVIEW}'.$content; Ici je passe une variable smarty que j'ai initialisé dans imgpreview_thumbnails() mais vous pouvez y mettre de l'html...
Pour savoir ce qu'il faut mettre cad add_event_handler('loc_end_index_thumbnails',XXX) et set_prefilter('index_thumbnails', 'XXX'); il faut ouvrir les fichier php qui vous intéresse dans /include et rechercher
trigger_event('loc_end_index_thumbnails',
et
// template thumbnail initialization
$template->set_filenames( array( 'index_thumbnails' => 'thumbnails.tpl',));
Y'a pas un tuto qui permet de mieux comprendre comment utiliser toutes ces fonctions , car là je n'ai toujours pas solutionné ce simple problème.
Merci pour votre réponse, je n'ai pas été assez précis.
Sur le squelette mentionné ci-dessus, je tente d'utiliser :
function personal_add_before_tpl_code($tlp_handle, $insert_before, $code)
{
global $template;
$template->loadfile($tlp_handle);
$template->uncompiled_code[$tlp_handle] = str_replace($insert_before, $code.$insert_before, $template->uncompiled_code[$tlp_handle]);
}
pour ajouter des lignes avec des valeurs extraites de la base.
Et c'est là qu'il me manque cette notion de $tlp_template(objet,nom de fichier...?)
le $template je l'ai, je réussi a initialiser des valeurs qui sont affichées, mais dés que ,
souhaite utiliser "personal_add_before_tpl_code" je ne sais quoi indiquer pour $tlp_handle
que je passe le nom du *tpl, $self (...) j'ai une alerte que loadfile n'existe pas.
Bienvenue pour développer des plugins :-)
je ne suis pas sur de bien comprendre ta question mais je vais quand même essayer d'y répondre.
je ne sais pas si tu souhaite un explication très technique ou la compréhension du fonctionnement
Donc si je répond à coté n'hésite pas à le dire !
Donc si tu parle de la ligne
$template->set_filenames( array('plugin_admin_content' => dirname(__FILE__).'/testplugin_admin.tpl') );
c'est expliquer à Piwigo que quand tu clics sur le lien de l'admin de ton plugin le fichier tpl à utiliser est 'testplugin_admin.tpl'
Tu peux bien sur donner le nom que tu veux au fichier tpl
Je me lance dans la création d'un plugin fortement inspiré de "http://fr.piwigo.org/doc/doku.php?id=projet:developpement:plugins" et je bloque sur l'ajout de ligne via le php dans la definition de page "testplugin_admin.tpl".
En fait la fonction je bloque sur ce qu'est le tpl_handle, est la classe du testplugin_admin.tpl ("titrePage") , ou bien c'est le chemin d'accès a ce fichier, ou autre chose...
Merci de votre aide.