/

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);
ParametroTipoPredefinitoDescrizione
$fieldsstring-Campi separati da virgole appartenenti a questo gruppo
$groupLabelstring-Testo del titolo mostrato sopra il gruppo
$collapsedboolfalseQuando è 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);
ParametroTipoPredefinitoDescrizione
$labelstring-Etichetta per la scheda dei campi di primo livello propri della tabella
$order?intnullPosizione 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();