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

  [Opened] Lien entre un formulaire et un template

Posted by tamraz on 06/04/2011 11:46

Bonjour à tous,

Je suis en train de lire le "Guide du développeur Jelix 1.2.1". Je suis actuellement au paragraphe 21.3.1 à la page 163, et je suis bloqué sur cette partie en ce moment:

Voici un exemple dans le contrôleur :
<code>
  $form = jForms::get(’monform’);
  $tpl = new jTpl();
  $tpl->assign(’formulaire’, $form);

Et dans le template :

  <h1>Le formulaire</h1>
  <p>Remplissez le formulaire suivant :</p>
  {formfull $formulaire, ’monmodule~default:sauver’}
</code>

En fait il s'agit de la génération d'un formulaire, et de la personnalisation de celui-ci. Alors ma question:
Dans le cas où il y aura un template principal dans lequel est incorporé le template du formulaire; est-ce qu'en faisant tout simplement "$tpl = new jTpl();" dans le contrôleur, Jelix connaîtra automatiquement le template du formulaire ?
Ou est-ce qu'au début du contrôleur, il va falloir écrire un code du genre: "$this->bodyTpl = "monModule~maTemplate" ? Ou est-ce que ça se définit dans le XML du formulaire ?

Ma deuxième question:
quelle est la différence entre un traitement métier et un traitement service ? (Chap 24 page 188) Je n'ai pas trop compris l'explication dans le paragraphe :-)

Merci d'avance pour vos réponses

  [Opened] Lien entre un formulaire et un template

Reply #1 Posted by lucky on 06/05/2011 11:11

Ta première question
Dans le contrôleur :

<code>
    // incorporer le template du formulaire dans la réponse 
    $rep->body->assign('MAIN', $tpl->fetch('tonmodule~templateform'));
</code>

Cet exemple suppose qu'une variable {$MAIN} soit présente dans ton template principal à l'endroit où doit être inséré le template du formulaire. ATTENTION : il faut préalablement initialiser toutes les variables définies dans le template du formulaire (comme $tpl->assign(’formulaire’, $form);).

 %%%

Ta deuxième question

quelle est la différence entre un traitement métier et un traitement service ? (Chap 24 page 188) Je n'ai pas trop compris l'explication dans le paragraphe

Certaines classes métier sont considérées comme service : c'est le cas lorsqu'une seule instance est nécessaire pour rendre le service en question quelque soit le contexte d'appel (la classe ne possède pas de propriétés "discriminantes").
Un exemple que tu pourras facilement visualiser sur mon site : j'utilise une classe service pour récupérer/afficher le compteur de visites (via l'API Google Analytics).

 %%%

Sois le bienvenu dans la communauté Jelix :)

 
Page
  1. Lien entre un formulaire et un template