Aperçu des types de champs
Tous les contrôles ->change_type() que xCRUD Nova Pro peut afficher pour un champ de formulaire, du simple texte à la capture caméra en direct.
->change_type()
->change_type($field, $type, $length = '', $extra = []) modifie la façon dont un champ s'affiche dans le formulaire de création/édition (et, pour des types comme select, la façon dont sa valeur s'affiche aussi en édition en ligne). Sans appel, le type d'un champ est déduit de son type de colonne en base de données.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
$field | string | - | La colonne à modifier |
$type | string | - | L'un des types ci-dessous |
$length | string | '' | Uniquement significatif pour price : nombre de décimales (2 par défaut). Ignoré par tous les autres types |
$extra | array | [] | Tableau d'options pour select/multiselect/radio/checkboxes/switch, ou ['prefix' => ..., 'suffix' => ...] pour price |
La liste des types
| Type | Description |
|---|---|
text | Champ texte simple sur une ligne |
textarea | Champ texte brut sur plusieurs lignes |
editor | Éditeur WYSIWYG texte enrichi Quill, stocke du HTML |
select | Liste déroulante à valeur unique, construite à partir des options de $extra |
multiselect | Sélection à valeurs multiples, stockée sous forme de valeur jointe par des virgules |
radio | Groupe de boutons radio |
checkboxes | Groupe de cases à cocher, valeur jointe par des virgules comme multiselect |
switch | Interrupteur explicite - nécessite toujours exactement 2 options |
password | Champ texte masqué (masquage visuel uniquement, pas un hash - stocké en texte brut comme tout autre champ texte) |
hidden | Champ caché, exclu de l'édition en ligne, toujours soumis avec le formulaire |
time | Sélecteur d'heure (les colonnes MySQL TIME l'obtiennent automatiquement) |
year | Champ numérique contraint à la plage YEAR de MySQL (1901-2155) |
price | Champ décimal avec préfixe/suffixe de devise optionnel |
file | Champ de téléversement de fichier |
image | Téléversement d'image avec options de redimensionnement/recadrage/filigrane |
video | Champ de téléversement vidéo |
camera | Capture caméra en direct (photo), stockée comme image |
Voir Téléversements de fichiers & images et Médias, caméra & téléversements vidéo pour l'ensemble complet des options de file/image/video/camera.
Exemple : un champ select
$extra accepte une simple liste (valeur = libellé), une correspondance valeur=>libellé, ou une liste de paires [valeur, libellé] :
$xcrud->change_type('status', 'select', '', [
'a' => 'Active',
'i' => 'Inactive',
]);
Exemple : un champ price
$length définit le nombre de décimales, $extra définit un préfixe/suffixe de devise :
$xcrud->change_type('unitPrice', 'price', '2', ['prefix' => '$']);