Raggruppamento campi, schede e testo ricco
Suddividi un lungo form in sezioni comprimibili o schede, e aggiungi un campo editor di testo ricco Quill.
fields_arrange() - sezioni comprimibili
->fields_arrange($fields, $groupLabel, $collapsed = false) raggruppa campi in una sezione etichettata e comprimibile - un titolo con un pulsante di espandi/comprimi, invece di un elenco piatto. Chiamalo una volta per ogni gruppo, nell'ordine in cui i gruppi devono apparire.
$xcrud->fields_arrange('firstName,lastName,email', 'Contact Info');
$xcrud->fields_arrange('addressLine1,city,postalCode', 'Address', true);
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
$fields | string | - | Campi separati da virgole appartenenti a questo gruppo |
$groupLabel | string | - | Testo del titolo mostrato sopra il gruppo |
$collapsed | bool | false | Quando è true, il gruppo parte compresso invece che espanso |
fields() come selettore a schede
->fields() può anche essere chiamato più volte con $useTabs = true per costruire un selettore a schede invece di un unico lungo form - ogni chiamata diventa una scheda, con $sectionName come etichetta di quella scheda. Ogni campo nominato in tutte le chiamate resta whitelisted/modificabile esattamente come richiederebbe una singola chiamata a fields().
$xcrud->fields('firstName,lastName,email', true, 'Contact');
$xcrud->fields('addressLine1,city,postalCode', true, 'Address');
$xcrud->fields('notes', true, 'Notes');
Tutte le chiamate a fields() che nominano una sezione devono concordare su $useTabs (tutte a schede, o tutte semplici) - e le sezioni a schede sono mutuamente esclusive con ->fields_arrange() sulla stessa pagina. Sezioni semplici (non a schede) combinate con fields_arrange() vanno bene, poiché non competono per lo stesso ruolo visivo.
Quando una tabella usa anche nested_table() (che crea una propria scheda per ogni figlio), ->default_tab($label, $order = null) etichetta la scheda che contiene i campi di primo livello propri della tabella, così da leggersi in modo coerente accanto alle schede delle tabelle annidate.
$xcrud->default_tab('Details', 1);
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
$label | string | - | Etichetta per la scheda dei campi di primo livello propri della tabella |
$order | ?int | null | Posizione di questa scheda rispetto alle schede delle tabelle annidate |
Vedi Tabelle annidate come schede per l'aspetto delle tabelle annidate di questo argomento.
Testo ricco con il tipo di campo editor
change_type($field, 'editor') sostituisce la semplice textarea di un campo con un editor di testo ricco WYSIWYG Quill, memorizzando il risultato come HTML.
$xcrud->change_type('description', 'editor');
Vedi Panoramica dei tipi di campo per l'elenco completo dei tipi.
Mettendo tutto insieme
$xcrud = Xcrud::get_instance();
$xcrud->table('products');
$xcrud->route('products');
$xcrud->change_type('description', 'editor');
$xcrud->fields('productName,productLine,quantityInStock', true, 'Overview');
$xcrud->fields('description', true, 'Description');
$xcrud->fields('buyPrice,MSRP', true, 'Pricing');
$xcrud->render();