•  » Plugins
  •  » Utilisation d'un template dans un plugin

#1 2009-02-02 21:08:02

nicolas
Former Piwigo Team
2004-12-30
1566

Utilisation d'un template dans un plugin

Bonsoir à tous,

il doit y avoir une subtilité qui m'échappe mais je ne vois pas comment dériver un template pour y ajouter mes propres tags et continuer à bénéficier des mises à jour éventuelles.
Pour être plus concret, je veux ajouter un lien sous chaque légende sur la page des imagettes, donc dans le template thumbnails.tpl. Pour le moment, la solution pas propre que j'ai trouvée est de faire un copier/coller de ce template et le modifier. N'y a-t-il pas mieux ?

Toute idée est la bienvenue.


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#2 2009-02-02 21:21:29

vimages
Membre
2004-03-27
2429

Re: Utilisation d'un template dans un plugin

salut Nicolas.

J'ai refais le site... plus propre, toutes les modifs css sont regroupées dans le fichier theme.css.

Toutes les modifs de fichiers .tpl sont dans un sous-dossier perso de template extention que j'apelle ici "xxxxx".
Je duplique les fichier que je veux, par exemple index.tpl, j'y apporte mes modifs et je le place dans ce dossier.

Ainsi je laisse strictement d'origine tous les fichiers de piwigo. (tu connais cette procédure bien sur...)

Alors pour ta question, on peut prévoir un bloc de ligne à ajouter au fichier "template_extention/xxxxx/thumbnails.tpl"

Comme cela, à chaque mise à jour de piwigo, si je veux aussi mettre à jour ce fichier avec la nouvelle version du fichier natif, c'est facile. je n'aurais qu'a ajouter ce bloc de ligne de code au bon endroit.
Et je suis sur qu'un plugin saurait l'automatiser...

amicalement,
éric.

Hors ligne

#3 2009-02-03 08:23:04

flipflip
Membre
Lyon
2005-03-19
2316

Re: Utilisation d'un template dans un plugin

Salut, le problème de vos deux solutions est que si un jour le plugin venait à être distribué il faudrait que l'utilisateur intervienne soit pour copier le .tpl soit pour modifier le .tpl. Pour Download Multi j'ai pris l'option include :

dans mon class.inc.php de mon plugin

Code:

  function DmCategoryDefault() {
    global $user, $template, $conf, $prefixeTable, $page, $lang;
   
    // Intégration du formulaire sous les images
    $template->set_filenames(
      array('DownloadMulti_category' => $this->plugin_path.'template/DmCategory.tpl')

...

    // Gestion du template
    $dm_html = $template->parse('DownloadMulti_category', true);
    $template->concat('PLUGIN_INDEX_CONTENT_END', $dm_html);
  }

Et ensuite je l'appel comme ça

Code:

          // Affichage du cadre en bas de thumbnail.tpl
          add_event_handler('loc_begin_index_thumbnails', array(&$this, 'DmCategoryDefault'));

Ça ne permet pas de modifier totalement un tpl mais c'est bien pratique.


Le cerveau à des capacités tellement étonnantes qu’aujourd’hui pratiquement tout le monde en à un

Mon site : http://www.blogoflip.fr

Hors ligne

#4 2009-02-03 10:18:08

nicolas
Former Piwigo Team
2004-12-30
1566

Re: Utilisation d'un template dans un plugin

Merci Philippe mais ton idée ne me convient pas et ne fonctionne pas. Je veux pouvoir ajouter un lien sous chaque imagette et pas un bloc sous toutes les imagettes.

Sinon je suis conscient du problème de copier et modifier un template mais pour le moment je n'ai pas trouvé mieux.


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#5 2009-02-03 10:50:56

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

Re: Utilisation d'un template dans un plugin

Un plugin peut charger un template-extension sans problème...


P@t

Hors ligne

#6 2009-02-03 11:05:24

nicolas
Former Piwigo Team
2004-12-30
1566

Re: Utilisation d'un template dans un plugin

P@t a écrit:

Un plugin peut charger un template-extension sans problème...

Oui je sais mais ce n'est pas super propre mais pour le moment je ne vois pas d'autre solution.


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#7 2009-02-03 11:23:22

vimages
Membre
2004-03-27
2429

Re: Utilisation d'un template dans un plugin

nicolas a écrit:

P@t a écrit:

Un plugin peut charger un template-extension sans problème...

Oui je sais mais ce n'est pas super propre mais pour le moment je ne vois pas d'autre solution.

c'est une idée très acceptable... :o)

Hors ligne

#8 2009-02-03 13:27:43

rvelices
Équipe Piwigo
2005-12-29
1417

Re: Utilisation d'un template dans un plugin

Pour le moment ce n'est pas possible ce que tu veux faire... Voici quelques pensees a ce sujet
- on peut remplacer tout le template en question; la raison pour laquelle existe un thumbnail.tpl en plus de index.tpl est bien cela
- on pourrait rendre possible ce que tu veux, mais je me pose des questions
  - sur les perfs (etant donne qu'on doit faire ca autant des fois qu'on -//:---\spam des vignettes)
  - sur la boite de Pandore :-)


et pendant que j'ecris ceci... tu peux bien modifier dans un plugin la variable NAME de chaque thumb et rajouter ton lien non ?

Hors ligne

#9 2009-02-03 13:35:24

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Utilisation d'un template dans un plugin

rvelices a écrit:

et pendant que j'ecris ceci... tu peux bien modifier dans un plugin la variable NAME de chaque thumb et rajouter ton lien non ?

Oui, je n'ai pas posté sur ce sujet, jusqu'à présent mais à quelques détails près tout est faisable même si cela ne semble pas très propre.

Avantages:
- Le cache continue de fonctionner, donc performant.
- Les template-extensions restent compatibles (dans la mesure où ils utilisent les même variables sans y appliquer des filtres Smarty).

Mais dans tous les cas c'est hyper-simple.


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#10 2009-02-03 15:22:54

flipflip
Membre
Lyon
2005-03-19
2316

Re: Utilisation d'un template dans un plugin

Même si ça ne répond pas forcement à la totalité de la problématique peut être que ça te débloquera.

Code:

  // Affiche les cases à cocher derrière le nom de l'image
  // $row['id'] est l'identifiant de l'image
  function DmCategoryThumbnail($tpl_var, $row) {
    $tpl_var['NAME'] .= '&nbsp;<input type="checkbox" name="id_images[]" value="'.$row['id'].'">';

    return $tpl_var;    
  }

et

Code:

          // Affichage des cases à cocher sous les vignettes
          add_event_handler('loc_index_thumbnail', array(&$this, 'DmCategoryThumbnail'), 50, 2);

Le cerveau à des capacités tellement étonnantes qu’aujourd’hui pratiquement tout le monde en à un

Mon site : http://www.blogoflip.fr

Hors ligne

  •  » Plugins
  •  » Utilisation d'un template dans un plugin

Pied de page des forums

Propulsé par FluxBB

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