- 1
[Opened] tpl compiled executer aprés le header
Posted by lipki on 02/28/2008 13:10
Bon c'est pas simple a expliquer
J'utilise un plugin jtpl, qui ajoute un script JS via addJSCode($code).
Dans les tpl compilé on obtiens
<?php $GLOBALS['gJCoord']->response->addJSCode(' (...) '); ?>
J'utilise ce plugins dans le tpl de l'action 'main~default:index', le JS est bien ajouté au header.
Mais si j'utilise ce plugins dans le tpl d'une zone 'main~sidebar', le JS n'est pas ajouté au header.
J'ai creusé le problème en fait le code s'exécute dans cette ordre :
- 'main~default:index' tpl
- jReponseHtml::outputHtmlHeader()
- 'main~sidebar' tpl
Donc quand le code tpl compiler de la zone sidebar s'exécute le header est déjà créer, c'est trop tard.
Est-ce que c'est clair ?
Est-ce que c'est normal ?
Est-ce que j'ai loupé un épisode ?
[Opened] Re: tpl compiled executer aprés le header
Posted by lipki on 02/28/2008 13:19
Alors la zone sidebar était déclaré comme ceci :
{zone 'main~sidebar'}
dans "maReponse.tpl".
j'ai fait un assignZone('main~sidebar') dans maReponse.class.php et ça marche.
[Opened] Re: tpl compiled executer aprés le header
Posted by laurentj on 02/28/2008 16:56
Oui c'est un vieux problème, difficile à résoudre sans une perte de perf...
- 1