developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.
Opened 13 years ago
Closed 13 years ago
#353 closed enhancement (fixed)
Masquer des champs dans les formulaires
Reported by: | e-media | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | Jelix 1.0 RC1 |
Component: | jelix:tpl | Version: | 1.0 beta 3.1 |
Severity: | normal | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Documentation needed: | ||
Hosting Provider: | Php version: |
Description
Il peut être intéressant de ne pas afficher certains champs définis dans le formulaire (XML) et si on a une liste importante de champs il serait pratique de pouvoir passer cette liste (par défaut vide) de la façon suivante (cf ci-dessous). C'est particulièrement intéressant si on a beaucoup de champs à afficher et peu à masquer.
Ce principe trouve tout son sens si on veut utiliser la même définition de formulaire (fichier XML) et avoir un affichage différent pour le formulaire de saisie et le simple formulaire d'affichage.
supposons que l'on ai les champs 'NOM','PRENOM','ADRESSE','CODE_POSTAL','VILLE','DATE_NAISSANCE' on veut tous les saisir et tous les afficher sauf date de naissance.
Aujourd'hui pour tous les saisir on peut faire dans un template :
... {formcontrols array()} <p>{ctrl_label}: {ctrl_control}</p> {/formcontrols} ...
pour l'affichage on peut faire
... {formcontrols array('NOM','PRENOM','ADRESSE','CODE_POSTAL','VILLE')} <p>{ctrl_label}: {ctrl_control}</p> {/formcontrols} ...
Une évolution qui pourrait être faite : c'est de passer en paramètre un autre tableau avec la liste des champs à ne pas afficher :
{formcontrols array(),array('DATE_NAISSANCE')} <p>{ctrl_label}: {ctrl_control}</p> {/formcontrols}
Attachments (1)
Change History (6)
comment:1 Changed 13 years ago by laurentj
comment:2 Changed 13 years ago by laurentj
En plus je crois bien que tu as fait le diff dans le mauvais sens (différences entre le nouveau et l'ancien, plutôt que l'ancien et le nouveau)
comment:3 Changed 13 years ago by e-media
J'ai refait le diff en respectant l'ordre ancien nouveau avec l'option -u4 et en utf8 ;-) (dans le trunk les modifications du fichier lib/plugins/tpl/html/block.formcontrols.php datent de 3 mois soit avant la sortie de la v3.1 non ?)
comment:4 Changed 13 years ago by e-media
J'ai téléchargé la nightly SVN 635 et celà donne le même diff -u4 de la v3.1 que j'ai déposé le 30/11 à 14:32
++
comment:5 Changed 13 years ago by laurentj
- Milestone changed from Jelix 1.1 to Jelix 1.0 RC1
- Resolution set to fixed
- Status changed from new to closed
Si le fichier n'a pas changé, il n'y a pas de problème.
Conçernant ton code :
- ligne 57, c'est ".=" et non "=" qu'il faut mettre
- le big test : il est mieux d'espacer un peu tout ça, notamment rajouter des espaces entre les opérateurs, et ajouter des passages à la ligne afin que ce soit plus lisible et maintenable
;-)
Patch inclus dans le trunk. Merci pour le patch !
Je ne pourrais inclure ce patch en l'état pour les raisons suivantes :