Panoramica dei tipi di campo
Ogni controllo ->change_type() che xCRUD Nova Pro può renderizzare per un campo del form, dal semplice testo a una cattura live dalla fotocamera.
->change_type()
->change_type($field, $type, $length = '', $extra = []) sovrascrive il modo in cui un campo viene renderizzato nel form di creazione/modifica (e, per tipi come select, come il suo valore viene mostrato anche nell'inline-edit). Senza una chiamata, il tipo di un campo viene dedotto dal tipo della colonna del database.
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
$field | string | - | La colonna da modificare |
$type | string | - | Uno dei tipi elencati sotto |
$length | string | '' | Significativo solo per price: numero di decimali (predefinito 2). Ignorato da ogni altro tipo |
$extra | array | [] | Array di opzioni per select/multiselect/radio/checkboxes/switch, oppure ['prefix' => ..., 'suffix' => ...] per price |
L'elenco dei tipi
| Tipo | Descrizione |
|---|---|
text | Campo di testo semplice su una riga |
textarea | Campo di testo semplice su più righe |
editor | Editor WYSIWYG di testo ricco Quill, memorizza HTML |
select | Dropdown a valore singolo, costruito dalle opzioni di $extra |
multiselect | Select multi-valore, memorizzato come valore unito da virgole |
radio | Gruppo di pulsanti radio |
checkboxes | Gruppo di checkbox, valore unito da virgole come multiselect |
switch | Interruttore esplicito - richiede sempre esattamente 2 opzioni |
password | Campo di testo mascherato (solo mascheramento visivo, non un hash - memorizzato come testo semplice come qualsiasi altro campo di testo) |
hidden | Input nascosto, escluso dall'editing inline, comunque inviato con il form |
time | Selettore orario (le colonne MySQL TIME lo ottengono automaticamente) |
year | Input numerico vincolato all'intervallo YEAR di MySQL (1901-2155) |
price | Input decimale con prefisso/suffisso valuta opzionale |
file | Campo di upload file |
image | Upload immagine con opzioni di ridimensionamento/ritaglio/watermark |
video | Campo di upload video |
camera | Cattura live dalla fotocamera (foto), memorizzata come image |
Vedi Upload di file e immagini e Upload di media, fotocamera e video per il set completo di opzioni su file/image/video/camera.
Esempio: un campo select
$extra accetta un semplice elenco (valore = etichetta), una mappa valore=>etichetta, oppure un elenco di coppie [value, label]:
$xcrud->change_type('status', 'select', '', [
'a' => 'Active',
'i' => 'Inactive',
]);
Esempio: un campo price
$length imposta i decimali, $extra imposta un prefisso/suffisso valuta:
$xcrud->change_type('unitPrice', 'price', '2', ['prefix' => '$']);