Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Quelques questions sur le moteur de template

Posted by Mindiell on 05/11/2011 17:05

Bonjour à tou(te)s,

Petit nouveau dans le monde de Jelix, je m'y intéresse de près par sa robustesse (over-blog) et sa simplicité d'installation. J'ai lu le manuel 1.2 et je ne comprends toujours pas comment le main.tpl d'une application de base est utilisé par le contrôleur default.classic.

Dans tous les cas, ce framework me semble bien fait, si ce n'est (pour le moment je l'espère) le côté un peu fouillis de tous ces fichiers.

Merci à vous pour le boulot !


Mindiell

  [Opened] Quelques questions sur le moteur de template

Reply #1 Posted by foxmask on 05/11/2011 21:37

bonsoir,

c'est loin d'être fouillis puisqu'à la création de son appli ; chaque chose est à sa place dans son dossier :)

pour ce qui est du template main.tpl, voici 2 bouts de code avec explications :

Exemple 1

le contrôleur

class defaultCtrl extends jController { 
<code>
   function index(){
      $rep = $this->common();
      $rep->body->assign('MAIN','<p>Bienvenue sur cette application de test</p>');
      return $rep;
   }

}

</code>

la reponse HTML

class myHtmlResponse extends jResponseHtml {
<code>
    public $bodyTpl = 'monappli~main';

    protected function doAfterActions() {
        $this->body->assignIfNone('MAIN','<p>no content</p>');
    }

}

</code>

Exemple 2

le contrôleur

class defaultCtrl extends jController { 
<code>
   function index(){
      $rep = $this->common();
      $tpl = new jTpl();
      $rep->body->assign('MAIN',$tpl->fetch('myfirsttemplate'));
      return $rep;
   }

}

</code>

dans l'exemple 1, c'est la reponse HTML (jResponseHtml) par le biais de public $bodyTpl = 'monappli~main'; qui exploite le template main.tpl et lui assigne dans la variable ${MAIN} une chaine html <p>no content</p> si la variable n'est pas utilisée, ce qui n'est pas le cas, puisqu'on met un message "bienvenue ... " dans le controleur via $rep->body->assign('MAIN','<p>Bienvenue sur cette application de test</p>');

dans l'exemple 2, c'est le controleur qui, par le biais de jTpl assigne le contenu du template myfirsttemplate dans la variable MAIN du template "main" de la reponse jResponseHTML.

Ainsi donc dans main.tpl ${MAIN} est remplace dans le cas 1 par une chaine dans le cas 2 par l'inclusion d'un autre template.

Cordialement.


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] Re: Quelques questions sur le moteur de template

Reply #2 Posted by Mindiell on 05/12/2011 07:02

Merci,

J'avais bien tout pigé, sauf que j'avais pas regardé le myResponseHtml.php. Je ne pouvais donc pas voir d'où venait le main.tpl...

Sinon, où peut-on demander des nouvelles fonctionnalités pour FnuBB ? Euh, sinon, t'habites vraiment à Belle-ile ?


Mindiell

  [Opened] Re: Quelques questions sur le moteur de template

Reply #3 Posted by foxmask on 05/12/2011 09:44

Mindiell a dit :
Merci,

J'avais bien tout pigé, sauf que j'avais pas regardé le myResponseHtml.php. Je ne pouvais donc pas voir d'où venait le main.tpl...

Sinon, où peut-on demander des nouvelles fonctionnalités pour FnuBB ?

sur le forum ou sur bitbucket avec un ticket

Euh, sinon, t'habites vraiment à Belle-ile ?

lol nan on s'égare là, c'était des vacances :-)


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

 
Page
  1. Quelques questions sur le moteur de template