Annotation de propriété @user
-
/** * @user hidden * @user hide_edit * @user hide_empty * @user hide_output * @user if_empty * @user invisible * @user no_add * @user no_delete * @user readonly * @user strict_read_only * @user tooltip */ public $property;
Description
L’annotation de propriété @user permet de gérer la représentation d’une propriété à l’affichage utilisateur.
Vous pouvez associer une ou plusieurs valeurs à l’annotation.
Les valeurs ne sont pas cumulatives : chaque annotation @user de plus haut niveau remplace intégralement toute définition de plus bas niveau.
Paramètres
hidden
La valeur de la propriété est cachée dans les vues, mais continue à :
- être visible comme choix de propriété dans les listes, modèles d’impression
- pouvoir être présente dans le code source des vues, sous forme de blocs HTML ou champs de saisie cachés
La valeur n’est donc pas bloquée à l’utilisateur, simplement cachée.
hide_empty
La propriété est cachée de la vue d’affichage (output) uniquement dans le cas où sa valeur est vide.
Si une valeur est renseignée, la propriété s’affiche normalement.
Lorsque la propriété est masquée : tout est masqué : ligne complète (libellé et valeur) dans une ligne, colonne complète dans un tableau.
Dans les formulaires de modification (edit), la propriété reste toujours affichée pour permettre la saisie.
hide_output
La propriété est masquée dans la vue affichage (output). Elle reste visible dans tous les autres cas.
if_empty
La valeur de la propriété ne peut être modifiée que si elle est vide : dès qu’une valeur a été saisie, la propriété est considérée comme ne lecture seule (voir readonly ci-dessous).
invisible
La propriété est totalement invisible pour l’utilisateur, et n’apparaîtra jamais dans les vues et formulaires, même masquée.
Elle ne sera pas non plus disponible dans les listes, modèles d’impression, etc.
no_add
Utilisable avec les propriétés en @link Collection et @link Map seulement, pour les formulaires de modification (edit) : cette option interdit de rajouter de nouvelles lignes, seuls celles pré-existantes peuvent être modifiées ou supprimées.
no_delete
Utilisable avec les propriétés en @link Collection et @link Map seulement, pour les formulaires de modification (edit) : cette option interdit de supprimer des lignes. Seuls l’ajout et la modification des lignes est possible.
readonly
La valeur de la propriété sera en lecture seule : elle ne peut qu’être consultée, sa saisie est impossible dans les formulaires de modification.
La valeur reste visible dans le formulaire de modification, dans un champ en lecture seule et non nommé.
strict_ready_only
Identique à
readonly
, mais masque totalement le champ de saisie dans les formulaires de modification : la valeur est simplement affichée telle quelle, sans champ de saisie (par exemple sans<input>
) en lecture seule.tooltip
Non documenté
Exemple
/** * @link Collection * @user hide_output if_empty * @var Order_Line[] */ public $order_lines;
La propriété
$order_lines
bénificiera des deux particularités suivantes :- dans la vue affichage (output), elle sera masquée
- dans le formulaire de modification (edit), elle ne sera disponible pour la saisie que si sa valeur est vide, sinon elle s’affichera en lecture seule