Raccourcis : Contenu - rubriques - sous rubriques
EN FR

Il est possible d'afficher, non pas le formulaire en lui-même, mais seulement les données du formulaire. Cela peut être utile pour afficher le récapitulatif des données saisies par exemple.

Affichage sans personnalisation

Pour les développeurs pressés, il existe un plugin de template qui affiche tout tout seul : formdatafull. Vous ne pouvez pas contrôler la façon dont sont affichés les libellés et les valeurs. Vous devez passer l'objet formulaire à ce plugin.

Voici un exemple dans le contrôleur :


    $form = jForms::get('monform');
    $tpl = new jTpl();
    $tpl->assign('formulaire', $form);

Et dans le template :


   <h1>Le formulaire</h1>
   <p>Vous avez saisie les valeurs suivantes:</p>

   {formdatafull $formulaire}

Les libellés et les valeurs du formulaires s'affichent dans un tableau.

Affichage personnalisé

Comme pour l'affichage du formulaire, il est possible de mieux contrôler l'affichage, en particulier les balises générées, et donc de pouvoir définir les endroits où les champs seront placés.

Vous pouvez utiliser les plugins {formcontrols} et {ctrl_label} que vous connaissez déjà, ainsi que {ctrl_value} à utiliser à la place de {ctrl_control} :


   <h1>Le formulaire</h1>
   <p>Vous avez saisie les valeurs suivantes:</p>

   <table>
    {formcontrols $formulaire}
       <tr>
           <th scope="row">{ctrl_label}</th>
           <td>{ctrl_value}</td>
       </tr>
    {/formcontrols}
    </table>

Notez que vous n'avez pas besoin d'utiliser le plugin {form}.

Il est possible aussi de ne pas utiliser la boucle {formcontrols}, afin d'afficher les valeurs où on veut et dans l'ordre que l'on souhaite, avec toujours les plugins {ctrl_label} et {ctrl_value} en leur indiquant le nom du contrôle à afficher. Mais il faut alors les utiliser à l'intérieur d'un plugin {formdata}.


   <h1>Le formulaire</h1>
   <p>Vous avez saisi les valeurs suivantes :</p>

   <table>
    {formdata $formulaire}
       <tr>
           <th>{ctrl_label 'name'}</th>
           <td>{ctrl_value 'name'}</td>
       </tr>
       <tr>
           <th>{ctrl_label 'address'}</th>
           <td>{ctrl_value 'address'}</td>
       </tr>
    {/formdata}
    </table>

{ctrl_value} peut accepter un paramètre additionnel, qui doit être un chaîne permettant de formater la valeur. Le formattage est fait par la fonction sprintf.