Annonce

  •  » Plugins
  •  » [Résolu] Personnalisation de la page d'admin picture_modify

#1 2011-10-18 09:12:43

Dsls
Membre
2009-12-06
37

[Résolu] Personnalisation de la page d'admin picture_modify

Re,

Je voudrais ajouter des icones d'actions, voire du code js à la page d'administration picture_modify (par exemple, ajouter des icones d'actions sous la miniature, à coté des icones existants).

Contrairement à batch_management_global, je ne vois pas de points d'extension possibles par des plugins pour cette page. Ai-je loupé quelque chose ?

--
Bruno

Dernière modification par Dsls (2011-10-18 09:20:10)

Hors ligne

#2 2011-10-18 09:19:50

Dsls
Membre
2009-12-06
37

Re: [Résolu] Personnalisation de la page d'admin picture_modify

Bon, je m'auto-réponds, le sujet semble avoir bien été balayé par là-bas : http://fr.piwigo.org/forum/viewtopic.php?id=20157

Hors ligne

#3 2011-10-18 23:43:29

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

Re: [Résolu] Personnalisation de la page d'admin picture_modify

En gros, les préfiltres smarty permettent de rajouter ou modifier n'importe quel code (html ou js) sur n'importe quelle page de piwigo (publique ou admin)


P@t

Hors ligne

#4 2011-10-18 23:44:23

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

Re: [Résolu] Personnalisation de la page d'admin picture_modify

Je précise que ça n'affecte pas du tout les performances grâce à la mise en cache de smarty.


P@t

Hors ligne

#5 2011-10-19 08:20:47

Dsls
Membre
2009-12-06
37

Re: [Résolu] Personnalisation de la page d'admin picture_modify

Oui, j'ai vu ça :)

En revanche, ça pourrait être intéressant de mettre un "balisage" spécifique dans les tpl du core pour faciliter les recherches remplacements.

Par exemple, si je veux ajouter un lien/icone dans les actions de picture_modify.tpl, c'est facile si je l'ajoute au début (avec un search/replace sur l'<ul>). Si je veux l'ajouter à droite, c'est une autre paire de manches.

Un code du type "commentaire Smarty" pourrait faire office de marqueur pour ajouter l'information au bon endroit. Exemple :

Code:

<ul class="categoryActions">
  {if isset($U_JUMPTO) }
  <li><a href="{$U_JUMPTO}" title="{'jump to photo'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_jump-to.png" alt="{'jump to photo'|@translate}"></a></li>
  {/if}
  [...]

  {* ##categoryActions## *}

</ul>

Hors ligne

#6 2011-10-19 12:29:31

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: [Résolu] Personnalisation de la page d'admin picture_modify

L'idée est bonne mais tout le monde ne va pas avoir besoin des mêmes blocs. Un coup en prendra un gros morceau, un autre coup on n'en prendra qu'une partie, bref, pas sûre que le "balisage" soit si efficace que ça au final...


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

#7 2011-10-21 11:14:58

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

Re: [Résolu] Personnalisation de la page d'admin picture_modify

C'est vrai que pour la page picture_modify, on pourrait rajouter un point d'ancrage... personnellement, je préfèrerai une variable smarty tant qu'à faire, comme pour la page index:

Code:

{if !empty($PLUGIN_PICTURE_MODIFY_ACTIONS)}{$PLUGIN_PICTURE_MODIFY_ACTIONS}{/if}

Mais bon, pour ajouter ton icône dans thumbcropper après les icônes existantes, ce n'est pas très compliqué avec un preg_replace:

Code:

$pattern = '#(<ul class="categoryActions">.*?)</ul>#s';

$replacement = '$1'.
  '<li><a href="#thumbcropper" class="cbinline" title="{\'Edit thumbnail\'|@translate}">'.
  '<img src="plugins/thumbCropper/thumbcropper.png" alt="{\'Edit thumbnail\'|@translate}">'.
  '</a></li></ul>'.
  '{include file="'.dirname(__FILE__).'/thumbcropper.tpl"}';
  
return preg_replace($pattern, $replacement, $content);

Sinon, deux petites remarques sur les préfiltres... Tu as mis ceci dans ton préfiltre:

Code:

/* Only work if we are in the right tpl, pre_filter being called for every tpl found */
if ($smarty->_current_file != 'picture_modify.tpl')
  return $content;

Ca ne sert à rien car le préfiltre n'est chargé que pour la page picture_modify grâce à:

$template->set_prefilter('picture_modify','tc_prefilter');

Ensuite, pour le chargement du fichier langue, il ne faut pas le mettre dans le préfiltre car celui-ci n'est appelé qu'au tout premier chargement (avant la mise en cache).


P@t

Hors ligne

#8 2011-10-21 11:19:32

Dsls
Membre
2009-12-06
37

Re: [Résolu] Personnalisation de la page d'admin picture_modify

P@t a écrit:

Sinon, deux petites remarques sur les préfiltres... Tu as mis ceci dans ton préfiltre:

Code:

/* Only work if we are in the right tpl, pre_filter being called for every tpl found */
if ($smarty->_current_file != 'picture_modify.tpl')
  return $content;

Ca ne sert à rien car le préfiltre n'est chargé que pour la page picture_modify grâce à:

$template->set_prefilter('picture_modify','tc_prefilter');

Ensuite, pour le chargement du fichier langue, il ne faut pas le mettre dans le préfiltre car celui-ci n'est appelé qu'au tout premier chargement (avant la mise en cache).

En fait si : si tu regardes la fin de la fonction, je concatène mon template particulier. Le préfiltre étant rappelé pour chaque tpl parsé, je me retrouve alors avec une page finale qui inclut 3 ou 4 fois mon template. D'où le test...

Hors ligne

#9 2011-10-21 11:20:42

Dsls
Membre
2009-12-06
37

Re: [Résolu] Personnalisation de la page d'admin picture_modify

Sinon, je prends note des autres remarques, je les intègrerai dans la 0.4, merci :)

Hors ligne

#10 2011-10-21 11:34:43

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

Re: [Résolu] Personnalisation de la page d'admin picture_modify

Dsls a écrit:

En fait si : si tu regardes la fin de la fonction, je concatène mon template particulier. Le préfiltre étant rappelé pour chaque tpl parsé, je me retrouve alors avec une page finale qui inclut 3 ou 4 fois mon template. D'où le test...

Hum oui, c'est pour ça que j'avais passé ça dans le $replacement en include smarty:

Code:

$replacement = '$1'.
  '<li><a href="#thumbcropper" class="cbinline" title="{\'Edit thumbnail\'|@translate}">'.
  '<img src="plugins/thumbCropper/thumbcropper.png" alt="{\'Edit thumbnail\'|@translate}">'.
  '</a></li></ul>'.
  '{include file="'.dirname(__FILE__).'/thumbcropper.tpl"}';

Comme ça pas besoin de tester ton template.

En fait le préfiltre est chargé pour picture_modify, mais également pour les fichiers inclus dans picture_modify (en l'occurrence autosize, dbpicker et dateselect). C'est pour ça que dans un préfiltre, faut mieux s'en tenir au str_replace ou preg_replace.

PS: tu as laissé un $template->delete_compiled_templates() à la ligne 32 (c'est d'ailleurs pour ça que ton load_language fonctionne). Pour développer avec les préfiltres, tu peux mettre $conf['template_force_compile'] = true; dans ton fichier de configuration locale.


P@t

Hors ligne

#11 2011-10-21 13:56:43

Dsls
Membre
2009-12-06
37

Re: [Résolu] Personnalisation de la page d'admin picture_modify

Ok, je viens de publier la 0.4 qui prend en compte tes remarques. Merci :)

Hors ligne

#12 2011-10-21 15:41:40

flop25
Équipe Piwigo
2006-07-06
6544

Re: [Résolu] Personnalisation de la page d'admin picture_modify

sinon j'ai envie de dire que lorsque ce sera stable on pourrait intégrer tes extensions élémentaires pour une galerie en ligne moderne
merci pour tes contributions

Hors ligne

  •  » Plugins
  •  » [Résolu] Personnalisation de la page d'admin picture_modify

Pied de page des forums

Propulsé par FluxBB

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