Openid en Plugin ...
Merci pour ton analyse.
Sylvain, tu passes un coup de téléphone à qui tu sais...
On voudrait bien son avis avisé.
Merci.
8-)
Hors ligne
rub a écrit:
rvelices, je vais bientôt commiter sur la partie picture pour le diaporama.
Si tu peux, évites de modifier les tpl liées à picture.php ;-) Merci!
Ha ha ... je voulais commencer par picture (sans blague) ... Mais je vais commencer par autre chose ...
Hors ligne
rvelices a écrit:
rub a écrit:
rvelices, je vais bientôt commiter sur la partie picture pour le diaporama.
Si tu peux, évites de modifier les tpl liées à picture.php ;-) Merci!Ha ha ... je voulais commencer par picture (sans blague) ... Mais je vais commencer par autre chose ...
J'ai bien fait d'en parler...
Hors ligne
Voila je suis un peu plus avance. Par exemple
1. variables racine
{TOTO} devient {$TOTO}
pour changer automatiquement sed "s/{\([a-zA-Z_]\+\)}/{$\1}/g" my_template.tpl
2. langue
{lang:edit category informations} devient {'edit category informations'|@translate} ou {$pwg->l10n('edit category informations')}
pour changer automatiquement sed "s/{lang:\([^}]\+\)}/{\'\1\'|@translate}/g" my_template.tpl
3. variables de block - pas moyen de changer automatique. Il faut passer a la mano. Un exemple simple
$template->append('tags', array( 'URL' => 'toto', 'NAME' => 'totoName', ) ); $template->append('tags', array( 'URL' => 'tata', 'NAME' => 'tataName', ) ); <ul id="fullTagCloud"> {foreach item=tag from=$tags} <li><a href="{$tag.URL}">{$tag.NAME}</a></li> {foreachelse} <li> </li> {/foreach} </ul>
Hors ligne
rvelices a écrit:
J'ai regarde vite jTpl. Il est effectivement plus simple que smarty avec moins de code, mais je trouve que smarty est plus souple en terme d'utilisation (et jTpl n'a pas l'equivalent de "assign_block_vars" par exemple alors que "append" en smarty fait exactement ca).
En plus il me semble que Smarty est bien plus utilise avec plus de developeurs que sur jTpl...
Donc personellement je suis plutot pour Smarty que pour jTpl.
Concernant le assign_block_vars, jTpl permet de définir comme variables es tableaux, associatifs ou non.
Ex emple de Pierrick pour la liste des liens dans PEM:
PHP a écrit:
while ($row = $db->fetch_array($result))
{
array_push(
$tpl_links,
array(
'name' => $row['name'],
'url' => $row['url'],
'description' => $row['description'],
)
);
}
$tpl->assign('links', $tpl_links);
jTpl a écrit:
<ul>
{foreach $links as $link}
<li><strong><a href="{$link[url]}">{$link[name]}</a></strong>: {$link[description]}</li>
{/foreach}
</ul>
En fait, jTpl supporte les fonctions PHP, ce qui évite d'en développer d'autres.
Autres exemples pris dans le code de PEM:
- insertion conditionnelle
{if isset($revisions)}
{/if}
- test valeur
{if count($links) > 0}
{else}
{/if}
Concernant "append", comme jTpl ne gère pas les blocs nommés, il "suffit" de faire un array_push quand on le souhaite et de faire "assign" avant l'affichage/la compilation.
Voilà.
J'arrête là mon argumentaire, et voyons voir ce que donne Smarty :-)
Hors ligne
bon voila j'ai appuye commit ... j'espere ne pas avoir fait trop de bobos ... J'ai modifie les templates et le php correspondant pour admin.tpl et admin/plugins.tpl
la revision est ici: http://svn.gna.org/viewcvs/phpwebgaller … p;view=rev
si vous etes d'accord, je vais continuer doucement a migrer les tpl ...
Hors ligne
rvelices a écrit:
bon voila j'ai appuye commit ... j'espere ne pas avoir fait trop de bobos ... J'ai modifie les templates et le php correspondant pour admin.tpl et admin/plugins.tpl
la revision est ici: http://svn.gna.org/viewcvs/phpwebgaller … p;view=rev
Je vais regarder ca en detail et observer les méthodes que tu utilises.
Je vais essayer de commiter picture/diaporama assez vite, j'ai juste un petit truc à finir mais je ne sais pas quand je pourrais le faire.
J'ai des petites questions:
o l'ajout du TAG_INPUT_ENABLED est temporaire, le temps de la migration car page_header n'a pas été migré?
o je n'ai pas compris pourquoi tu as changé le
$template->concat_var_from_handle('ADMIN_CONTENT', 'check_integrity');
par
$template->concat_var('ADMIN_CONTENT', $template->parse('check_integrity', true) );
, c'est pourtant la méthode utilisée partout?
o finalement, tu détectes si un tpl est smary par contenu et non pas son extension?
o certains fonctions de présentations (comme le changement de couleur) à chaque ligne d'un tableau ont été déplacés dans le tpl, ca serait bien de faire en même temps un mini doc sur le wiki avec les nouvelles possibilités, les trucs à faire, etc... ca nous permettra ensuite de d'aider à migrer plus rapidement
rvelices a écrit:
si vous etes d'accord, je vais continuer doucement a migrer les tpl ...
Pas de soucis.
Hors ligne
rvelices a écrit:
bon voila j'ai appuye commit ... j'espere ne pas avoir fait trop de bobos ... J'ai modifie les templates et le php correspondant pour admin.tpl et admin/plugins.tpl
la revision est ici: http://svn.gna.org/viewcvs/phpwebgaller … p;view=rev
si vous etes d'accord, je vais continuer doucement a migrer les tpl ...
Le résultat est bien là et il reste à lire le code.
Je vais imprimer quelques pages pour lire pendant mes heures d'avion.
8-)
Hors ligne
Pour savoir où on en est, on ne pourrais mas tagger les tpls non migrés pour savoir d'un coup de grep ce qu'il reste à faire?
Par exemple avec:
<!-- not smarty compatible -->
PS: d'après tes commentaires, sed + grep sera notre grand ami de la migration, je vais m'installer un shell unix sous vista ;-)
[edit]c'est grep pas sed... [/edit]
Dernière modification par rub (2008-02-27 09:22:59)
Hors ligne
rub a écrit:
o l'ajout du TAG_INPUT_ENABLED est temporaire, le temps de la migration car page_header n'a pas été migré?
c'est du a un probleme precedant (je crois a un de mes commits): admin/XXX.php sont inclus avant page_header -> avant TAG_INPUT etait touojurs '' mais maintenant on a des warnings avec Smarty en ode debug.
rub a écrit:
o je n'ai pas compris pourquoi tu as changé le
Code:
$template->concat_var_from_handle('ADMIN_CONTENT', 'check_integrity');par
Code:
$template->concat_var('ADMIN_CONTENT', $template->parse('check_integrity', true) );, c'est pourtant la méthode utilisée partout?
en bref j'avais oublie de l'implemter et j'ai vu apres qu'elle etait utilise une seule fois donc c'etait + simple de changer l'appel (ausi je voudrais eviter qu'on ajoute apres assign_block_vars_from_handle ou append_from_handle donc je n'ai plus remis l'ancienne)
rub a écrit:
o finalement, tu détectes si un tpl est smary par contenu et non pas son extension?
je me suis contente d'un preg_match sur le contenu (peu performant)
rub a écrit:
o certains fonctions de présentations (comme le changement de couleur) à chaque ligne d'un tableau ont été déplacés dans le tpl, ca serait bien de faire en même temps un mini doc sur le wiki avec les nouvelles possibilités, les trucs à faire, etc... ca nous permettra ensuite de d'aider à migrer plus rapidement
j'ai prefere Smarty car la doc sur le web (dans 5 langues) est tres complete et bien faite.... http://www.smarty.net/manual/en/ ou ici en francais http://www.smarty.net/manual/fr/
Hors ligne
rvelices a écrit:
rub a écrit:
o finalement, tu détectes si un tpl est smary par contenu et non pas son extension?
je me suis contente d'un preg_match sur le contenu (peu performant)
J'ai taggé dans mon dernier commit, les tpl à migrer.
Il faudrait peut-être faire le preg_match sur le tag? Car je pense qu'il ne fonctionne pas sur les tpl très simple comme plugin.tpl par exemple.
Hors ligne
rub a écrit:
Il faudrait peut-être faire le preg_match sur le tag? Car je pense qu'il ne fonctionne pas sur les tpl très simple comme plugin.tpl par exemple.
Bizarre ... chez moi ca marche (j'ai essaye le event tracer) ....
Sinon j'ai commite un paquet des modifs... J'essayerai de faire maintenant picture et tout les templates associes (slideshow, picture_content, picture_nav_buttons ...)
Hors ligne
rvelices a écrit:
rub a écrit:
Il faudrait peut-être faire le preg_match sur le tag? Car je pense qu'il ne fonctionne pas sur les tpl très simple comme plugin.tpl par exemple.
Bizarre ... chez moi ca marche (j'ai essaye le event tracer) ....
C'etait juste une supputation sans vérification dans le code.
rvelices a écrit:
Sinon j'ai commite un paquet des modifs... J'essayerai de faire maintenant picture et tout les templates associes (slideshow, picture_content, picture_nav_buttons ...)
J'ai vu ca, tu as bien dépoté!
Si tu n'avances pas aussi vite pour le reste, je testerai bien smarty sur la migration de la NBM, c13y et mail!
Merci pour la correction de </div> dans picture.
Hors ligne
Hors ligne