Annonce

#16 2011-10-10 08:38:48

Gossito
Membre
2011-10-08
45

Re: Template / Theme

@ddtddt merci, je comprends la logique...
la je suis sur la doc de smarty... c'est une nouvelle syntaxe a s'approprier, je n'avais jamais approfondie smarty, cela va en être l'occasion.. faire mon template risque de me prendre un peu plus de temps que prevus eheheh

@flop25 j'ai loadé Pure_default, si je comprends bien c'est un theme parent, il y a necessité d'avoir un theme enfant  pour qu'il marche.. le vois tu comme une sorte de framework, que tu rajoutes a piwigo? la ou tu stockes tes .tpl qui seront appelé par tes enfants?
j'ai aussi chargé Pure_tr_clear_blue.
néanmoins je cherche a comprendre un point, dans le theme default de piwigo, il y a tout une série de template (cf image chargée). est ce que c'est la que sont regroupés tous les templates accessibles? je vois que dans les themes que je télécharge, il y a souvent simplement que quelques uns de ces templates.
par exemple menubar.tpl dans Pure_default. donc les autres templates, si ils ne sont pas 'modifiés' sont cherchés par default par piwigo dans le répertoire template du theme default (ou dans une partie du core reprenant ces mêmes templates)?
est ce que l’idée c'est : a l'initialisation, piwigo regarde si dans le theme il y a un répertoire template, si oui il prend les templates qui s'y trouvent, apres il regarde si le theme n'est pas un theme enfant, si c'est le cas il regarde dans le répertoire template du theme parent pour y chercher les tpl, puis il complète avec les template issue du core (ou de default?) (qui n'auraient pas été écrasé par des template eponymes situé dans les theme parents/enfants)
de plus je vois par exemple le template stuffs_blocks.tpl qui n'est pas dans default. est ce que c'est un template qui est propre a ton theme, que tu appelles après quelque par pour qu'il soit inclué dans l'affichage de piwigo? comment et ou se fait cette opération par ce que je ne vois pas par exemple d'appel depuis menubar.tpl

petites questions pratiques

themeconf.inc.php, est ce que c'est le fichier ou je peux écrire des fonctions pour quelles soient traités par piwigo? et utiliser add_event_handler comme hook pour plugger cette fonction dans la page/template que je désire?
cependant dans la partie
identification.tpl
il y a la fonction Pure_default_prefilter_identification, je ne la vois pas rataché a add_event_handler, comment est elle appellée? (ces le cas des autres fonctions apres aussi)


title="{'edit'|@translate}"
est ce que cela veut dire, va regarder dans le fichier de translation la valeur de edit (qui est le defaut si elle n'y existe pas') et affiche  ?


local_head.tpl
qu'est ce que je dois mettre dans ce fichier?
j'ai l'impression que c'est que qui doit etre pluggé dans les templates footer et header? pourquoi ne pas passer par themeconf.inc.php a la maniere du add_event_handler ou l'on attriburait un footer/header comme partie a plugger?

un grand merci encore pour l’ignare que je suis

Hors ligne

#17 2011-10-10 09:45:07

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16813

Re: Template / Theme

Je vais essayer de répondre à tout mais il y a beaucoup de questions ;-)

1/ Piwigo charge en priorité les templates du theme, s'il n'y sont pas il regarde dans le thème parent.
Si tu n'as pas défini de thème parent tu as une erreur (je te conseils de toujours définir un parent)
Piwigo va bien sur chercher dans le parent du parent
il me semble assez logique de toujours avoir en haut de l'arbre default qui regroupe tous les template utiliser par le corps de Piwigo

2/ Tu parles de stuffs_blocks.tpl
ceci c'est un template d'un plugin [extension by plg] PWG Stuffs
dans ton thème tu peux imposer des templates pour des plugins, il ne sont pas dans le core de Piwigo mais dans les plugins concerné

3/ dans themeconf.inc.php tu peux mettre des fonction ou des paramètres de conf, c'est également la que tu peux ajouter la possibilité d'avoir une page de configuration pour ton thème (la seule limite que je vois c'est de ne pas faire une usine à gaz avec son thème [ou son plugin d’ailleurs)

4/ pour Pure_default_prefilter_identification, tu as
$template->set_prefilter('identification', 'Pure_default_prefilter_identification');


5/title="{'edit'|@translate}"
oui c'est cela, il faut quand même dire à Piwigo ou aller regarder si tu crée un nouveau fichier langue

6/local_head.tpl
c''est automatiquement rajouter au header
il y a bien sur d'autre solution pour ajouter au header mais c'est pour facilité la vie au développeur de thème qui ne connaisse rien au php

dsl si j'ai oublié un point ou si je ne suis pas clair ;-)


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#18 2011-10-10 09:48:57

Gossito
Membre
2011-10-08
45

Re: Template / Theme

merci bcp c'est super clair en fait

tu es au top

je reposerais ici au fur et a mesure de mes interrogations

merci encore

Hors ligne

#19 2011-10-10 09:54:35

flop25
Équipe Piwigo
2006-07-06
6544

Re: Template / Theme

merci ddtddt ^^
je précise le setprefilter :
$template->set_prefilter('identification', 'Pure_default_prefilter_identification');
on met en place un préfilter avec la fonction qui prend comme premier argument le nom de l'"emplacement" (ici identification qui correspond à la pahe identifcation.php http://piwigo.org/dev/browser/trunk/identification.php qui se trouve ligne 83 à $template->set_filenames( array('identification'=>'identification.tpl') ); ) puis en 2° le nom du filtre (ici Pure_default_prefilter_identification)

le système d'écrasement hiérarchique des tpl est automatique : il suffit de placer identification.tpl dans le dossier template de ton thème pour qu'il soit chargé à la place du thème parent et à la place de default

Hors ligne

#20 2011-10-10 11:35:32

Gossito
Membre
2011-10-08
45

Re: Template / Theme

une petite question,

je pense que c'st pour traite les hooks du footer

dans le tpl de default, il y a


{get_combined_scripts load='footer'}

{if isset($footer_elements)}
{foreach from=$footer_elements item=v}
{$v}
{/foreach}
{/if}

si je comprends bien, cela sert a appeller des 'widgets' qui seront affichés là les uns à la suite des autres ..

est ce qu'ils sont soit sous forme de plugins (par exemple un plugin analytic) ou soit par des fonctions dans le themeconf.inc.php

est ce qu'ils sont initialisé par un add_event_handler ? je n'arrive pas a trouver dans le wiki bcp d'informations sur le add_event_handler.. je suis sur que c'est cela, mais le search form ne m'aide pas bcp ou n'est ce pas plustot une autre form de hook reservé a des scripts javascripts/css

y a t'il une page qui stipule tous les endroits plugable par le add_even_handler? et comment il se decortique.. je n'arrive pas vraiment a trouver dans le wiki, je vois des bouts ici et la

merci par avance

Hors ligne

#21 2011-10-10 11:55:09

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16813

Re: Template / Theme

Gossito a écrit:

{get_combined_scripts load='footer'}

c'est pour 'regrouper' tous les javascript à charger dans le footer

Gossito a écrit:

{if isset($footer_elements)}
{foreach from=$footer_elements item=v}
{$v}
{/foreach}
{/if}

je ne sais pas pour statistique mais je l'utilise pour [extension by ddtddt] Perso Footer
cela permet d'ajouter des infos dans le pied de page
fichier main.inc.php

attention de ne pas en abuser pour que le pied de page ne ressemble pas à un catalogue


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#22 2011-10-10 12:20:22

Gossito
Membre
2011-10-08
45

Re: Template / Theme

get_combined_scripts load='footer'

ou est ce que je peux trouver la doc de get_combined_script? car une recherche dans le wiki est infructeuse

je supoose que si il y a un load, il y a la possibilité de faire un plug dedans (pas un pluging, juste je pense que la function est pluggable/hookable, je ne sais pas trop quelle terminologie vous utiliser avec piwigo, mais mon ider c'est insert='footer' ou peut etre un insert_conbined_scripts ?

par exemple dans ton plugin tu utilise
$pat=trigger_event('AP_render_content', $row['value']);

je suppose que c'est un plug d'affichage non?
apres tu as

    $template->set_filename('PERSO_FOOTER', realpath(PFT_PATH.'persofooter.tpl'));   

ca cela veut dire va chercher le fichier persofooter.tpl et attribue lui la référence PERSO_FOOTER, oui, non?

    $template->append('footer_elements', $template->parse('PERSO_FOOTER', true));
et cela se traduirait par insert dans  footer_elemeent, le resultat de parse PESRO_FOOTER


j'ai recherché sur trigger_event, mais quand je fais une recherche dans le wiki sur cette function, elle ne sort pas vraiment

y a t'il quelque par dans la doc un endroit ou toutes ces functions (trigger, ad event..) sont référencés et défnie? quelque chose a la maniere du codex wp?

merci par avance

Hors ligne

#23 2011-10-10 12:42:14

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16813

Re: Template / Theme

les docs dev qui existe sont plutôt dans le wiki EN

pour utiliser {get_combined_scripts load='footer'}

dans ton tpl tu met un truc du genre
{combine_script id='jquery.ui.progressbar' load='footer'}



Gossito a écrit:

par exemple dans ton plugin tu utilise
$pat=trigger_event('AP_render_content', $row['value']);

là je filtre les données qu'il y a dans $row['value'] a l'aide du pluging [extension by Mattias] Extended_author

au dessus j'ai
    $PAED = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'ExtendedDescription';"));
if($PAED['state'] == 'active') add_event_handler('AP_render_content', 'get_user_language_desc');

Gossito a écrit:

$template->set_filename('PERSO_FOOTER', realpath(PFT_PATH.'persofooter.tpl'));   

ca cela veut dire va chercher le fichier persofooter.tpl et attribue lui la référence PERSO_FOOTER, oui, non?

    $template->append('footer_elements', $template->parse('PERSO_FOOTER', true));
et cela se traduirait par insert dans  footer_elemeent, le resultat de parse PESRO_FOOTER

oui


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#24 2011-10-11 09:47:51

Gossito
Membre
2011-10-08
45

Re: Template / Theme

merci beaucoup, je vais regarde le wiki EN alors, je n'y avais pas pensé..

Hors ligne

Pied de page des forums

Propulsé par FluxBB

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