rub a écrit:
(Sinon, VDigital va nous le passer dans son site magique).
Rien de particulier, MontBlancXL et :
Personal
RV sitemap
RV Maps&Earth
Admin Advices
Footer_count
Charlies content
VD Language Switch
Fix Admin Theme
Et comme MontBlancXL déforme le miniature j'ai repris mes adaptations générales de template-common/local-layout.css dans theme.css
afin d'être sûr en plus dans le plugin Personnal j'ai:
add_event_handler('loc_end_page_header', 'personal_large_thumbnail');
mais aussi
add_event_handler('loc_begin_page_tail', 'personal_sync_not_simulate');
add_event_handler('loc_begin_menubar', 'personal_filter_button_move');
add_event_handler('loc_end_menubar', 'personal_byend_remove');
add_event_handler('loc_begin_page_header', 'Flush_thumbnail_upload');
add_event_handler('init', 'set_Default_Upload_Cat');
Si dans cette liste, il y en a un que je n'ai pas encore publié, c'est possible!
Je documenterai mais assurément rien de magique.
8-)
Hors ligne
Je viens de recevoir une NBM de je ne sais plus qui, et cela me fais penser que j'ai négliger de te faire le mail-css.tpl qui ira avec.
8-)
Hors ligne
VDigital a écrit:
Je viens de recevoir une NBM de je ne sais plus qui, et cela me fais penser que j'ai négliger de te faire le mail-css.tpl qui ira avec.
8-)
L'avantage, c'est que par défaut, c'est déjà pas mal!
Hors ligne
rub a écrit:
Il faut savoir que cette méthode ne fonctionne pas dans tous les cas.
Elle fonctionne pour menubar car on a le trigger juste avant qui va bien.
En 1.7.1, j'ai rajouter des triggers dans le template, tu pourras faire le changement de fichier directement lors du 1er set_filename.
(D'ailleurs, il existe une fonction set_filename [ajout de la 1.7] qui evite d'utiliser directement un array).
C'est encore un poil compliqué pour moi...
C'est quoi exactement un "trigger"?
Oui je sais, je suis un boulet.... (mais y'a quand meme pire sur ce forum!! ;-)
rub a écrit:
Une 2eme méthode, vu que tu ne fais que de "simples suppressions" et la modification en direct du tpl. Sur le même évènement, tu utilises les fonctions du WIKI (personal_remove_tpl_code) pour supprimer les branches que tu ne veux pas, c'est peut-être plus simple à maintenir que la 1ere méthode mais en plus gourmand en ressource.
Tout ca pour permettre "de se mettre en php"... ;-)
J'ai aussi fait cette méthode (plugin remove MB Header que j'ai posté, et que je vais d'ailleur viré vu la nulitude de ce machin).
Mais c'est vrai qu'elle est gourmande pour les serveurs... et j'ai pas envie de me faire gronder par monsieur 1and1 :-)
VDigital a écrit:
...
Et comme MontBlancXL déforme le miniature
...
Meuh non, il lui faut tout simplement des grosses miniatures!
Voila le site que j'ai fait pour mes parents (ils sont en nouvelle calédonie, vous l'aurez compris) avec mon thème MontblancXL:
http://www.gauchon.fr
Images en 800x600 et miniatures de 170px (largeur ou hauteur...)
Je suis quand meme fier que VDigital utilise mon adaptation du thème Montblanc 8-) (pectoraux en mode gonflés)
+++
Dernière modification par P@t (2007-06-20 12:00:36)
Hors ligne
Pour mon pb d'icone "récent" en IE6 voila une copie d'écran:
http://phpwebgallery.net/doc/lib/exe/fe … recent.jpg
Hors ligne
P@t a écrit:
rub a écrit:
Il faut savoir que cette méthode ne fonctionne pas dans tous les cas.
Elle fonctionne pour menubar car on a le trigger juste avant qui va bien.
En 1.7.1, j'ai rajouter des triggers dans le template, tu pourras faire le changement de fichier directement lors du 1er set_filename.
(D'ailleurs, il existe une fonction set_filename [ajout de la 1.7] qui evite d'utiliser directement un array).C'est encore un poil compliqué pour moi...
C'est quoi exactement un "trigger"?
Oui je sais, je suis un boulet.... (mais y'a quand meme pire sur ce forum!! ;-)
Par exemple:
add_event_handler('loc_begin_menubar', 'menubar_perso');
Le trigger (déclencheur), c'est le bout de code dans PWG qui va faire des actions lors de l'événement loc_begin_menubar.
Cad, lors de l'événement loc_begin_menubar, le trigger associé permet d'exécuter la fonction menubar_perso.
C'est plus clair?
Hors ligne
rub a écrit:
Par exemple:
add_event_handler('loc_begin_menubar', 'menubar_perso');
Le trigger (déclencheur), c'est le bout de code dans PWG qui va faire des actions lors de l'événement loc_begin_menubar.
Cad, lors de l'événement loc_begin_menubar, le trigger associé permet d'exécuter la fonction menubar_perso.
C'est plus clair?
Ok... c'est un peu plus clair...
Une autre petite question, quel est le bout de code qui fait que, par exemple, en mode admin, le bouton pour modifier une catégorie s'affiche avec le code:
<!-- BEGIN edit -->
<li><a href="{edit.URL}" title="{lang:edit category informations}"><img src="{pwg_root}{themeconf:icon_dir}/category_edit.png" class="button" alt="{lang:edit}"/></a></li>
<!-- END edit -->
alors que ca ne s'affiche pas en mode invité?
Est-ce que <!--BEGIN edit --> est un trigger?
Dernière modification par P@t (2007-06-20 12:19:42)
Hors ligne
Je vais le dire autrement:
Nous (l'équipe) plaçons dans le code de base des déclencheurs (triggers) ou des events (des évènements). Dans le code pour les events, nous avons déjà des procédures qui vont permettre la gestion de paramètres.
Maintenant du coté des plugins, vous pouvez faire appeler une fonction à vous, incluse dans le plugin au moment de déclencheurs comme
'loc_begin_menubar' / 'loc_begin_page_header'
ou de l'évènement comme 'render_element_content'
Par exemples :
add_event_handler($trigger, $fonction);
ou :
add_event_handler($event, $fonction, $priority, $arg_count);
Ce n'est pas obligatoirement plus clair... mais dans un premier temps l'appel via les triggers est recommandées, les events seront conseillées au cas par cas.
8-)
Hors ligne
P@t a écrit:
Est-ce que <!--BEGIN edit --> est un trigger?
Non: c'est un nom de Bloc pour le moteur de template.
Hors ligne
P@t a écrit:
Une autre petite question, quel est le bout de code qui fait que, par exemple, en mode admin, le bouton pour modifier une catégorie s'affiche avec le code:
<!-- BEGIN edit -->
<li><a href="{edit.URL}" title="{lang:edit category informations}"><img src="{pwg_root}{themeconf:icon_dir}/category_edit.png" class="button" alt="{lang:edit}"/></a></li>
<!-- END edit -->alors que ca ne s'affiche pas en mode invité?
Est-ce que <!--BEGIN edit --> est un trigger?
Pas de triggers, ceux sont des balises pour démarquer du code facultatif ou à repeter plusieurs fois dans un fichier tpl.
Ca demarque des blocs de code et ceux sont les "$template->assign_block_vars(" qui permettent l'insérer, d'assigner le bloc compris entre les délimiteurs.
Si tu fais n fois $template->assign_block_vars, tu auras n blocs.
Pas en invité mais en admin, car c'est le code php qui permet de faire on pas l'appel à $template->assign_block_vars!
Dernière modification par rub (2007-06-20 12:36:38)
Hors ligne
Merci les gars! C'est dejà beaucoup plus clair....
Je vais me plonger un peu dans les lignes de codes de pwg pour mettre tout ca en place dans ma tete.
Ca devrait etre bon...
Encore merci de votre patience ;-)
Hors ligne
rub a écrit:
Pas de triggers, ceux sont des balises pour démarquer du code facultatif ou à repeter plusieurs fois dans un fichier tpl.
Ca demarque des blocs de code et ceux sont les "$template->assign_block_vars(" qui permettent l'insérer, d'assigner le bloc compris entre les délimiteurs.
Si tu fais n fois $template->assign_block_vars, tu auras n blocs.
Pas en invité mais en admin, car c'est le code php qui permet de faire on pas l'appel à $template->assign_block_vars!
C'est bon, j'ai pigé comment ca marche maintenant....
Encore une question....
Comment supprimer un bloc qui a été assigné....
Par exemple, si je veux que le bouton "déconnexion" s'affiche meme si l'utilisateur est en invité (je sais ca sert à rien, c'est un exemple!), je rajoute
add_event_handler('loc_end_menubar', 'testperso');
function testperso()
{
global $template;
$template->assign_block_vars('logout', array());
}
Mais pour supprimer ce bouton si l'utilisateur est enregistré (je sais, ca sert à rien non plus!)?
Hors ligne
P@t a écrit:
Par exemple, si je veux que le bouton "déconnexion" s'affiche meme si l'utilisateur est en invité (je sais ca sert à rien, c'est un exemple!), je rajoute
add_event_handler('loc_end_menubar', 'testperso');
function testperso()
{
global $template;
$template->assign_block_vars('logout', array());
}Mais pour supprimer ce bouton si l'utilisateur est enregistré (je sais, ca sert à rien non plus!)?
Méthode 1: Supprimer le bout de code du template
http://phpwebgallery.net/doc/doku.php/f … ton_filtre
Méthode 2: Supprimer les assignations dans l'objet $template
http://phpwebgallery.net/doc/doku.php/f … s_recentes
Méthode 3: Modifier le code généré (cf une réponse que j'avais fait qq part) (mais pas nécessaire pour ton cas)
Méthode 4: ... sûrement plein d'autres
Le tout pour lé méthode 1 ou 2 c'est de faire les modifications quand il faut.
Hors ligne
rub a écrit:
Méthode 1: Supprimer le bout de code du template
http://phpwebgallery.net/doc/doku.php/f … ton_filtre
Méthode 2: Supprimer les assignations dans l'objet $template
http://phpwebgallery.net/doc/doku.php/f … s_recentes
Voila!
La méthode 1, c'est bon, je sais faire...
C'est sur la méthode 2 que je m'arrache les cheveux...
J'avais en effet trouvé la fonction unset sur le manuel de php...
Mais j'arrive pas à l'appliquer dans ce cas précis.... (bouton logout)
A première vue, j'aurai dis: unset($template['logout']);
Mais ca marche pas!
Hors ligne
P@t a écrit:
J'avais en effet trouvé la fonction unset sur le manuel de php...
Mais j'arrive pas à l'appliquer dans ce cas précis.... (bouton logout)
A première vue, j'aurai dis: unset($template['logout']);
Mais ca marche pas!
Non, non, non, elle est compliquée celle-la, il faut déjà bien comprendre le source du include/template.php
Hors ligne