/

Feldgruppierung, Tabs & Rich Text

Teilen Sie ein langes Formular in einklappbare Abschnitte oder Tabs auf, und fügen Sie ein Quill-Rich-Text-Editor-Feld hinzu.

fields_arrange() - einklappbare Abschnitte

->fields_arrange($fields, $groupLabel, $collapsed = false) gruppiert Felder in einen beschrifteten, einklappbaren Abschnitt - eine Überschrift mit Auf-/Zuklapp-Schalter, statt einer flachen Liste. Rufen Sie sie einmal pro Gruppe auf, in der Reihenfolge, in der die Gruppen erscheinen sollen.

$xcrud->fields_arrange('firstName,lastName,email', 'Contact Info');
$xcrud->fields_arrange('addressLine1,city,postalCode', 'Address', true);
ParameterTypStandardBeschreibung
$fieldsstring-Kommagetrennte Felder, die zu dieser Gruppe gehören
$groupLabelstring-Überschriftstext über der Gruppe
$collapsedboolfalseBei true startet die Gruppe eingeklappt statt ausgeklappt

fields() als Tab-Umschalter

->fields() kann auch mehrfach mit $useTabs = true aufgerufen werden, um statt eines langen Formulars einen Tab-Umschalter zu bauen - jeder Aufruf wird ein Tab, mit $sectionName als dessen Beschriftung. Jedes über alle Aufrufe hinweg genannte Feld bleibt genauso freigegeben/bearbeitbar, wie es ein einzelner fields()-Aufruf verlangen würde.

$xcrud->fields('firstName,lastName,email', true, 'Contact');
$xcrud->fields('addressLine1,city,postalCode', true, 'Address');
$xcrud->fields('notes', true, 'Notes');

Alle fields()-Aufrufe, die einen Abschnitt benennen, müssen sich bei $useTabs einig sein (alle mit Tabs, oder alle ohne) - und Tab-Abschnitte schließen sich mit ->fields_arrange() auf derselben Seite gegenseitig aus. Einfache (nicht-Tab-)Abschnitte kombiniert mit fields_arrange() sind hingegen unproblematisch, da sie nicht um dieselbe visuelle Rolle konkurrieren.

Wenn eine Tabelle auch nested_table() verwendet (was pro Kind einen eigenen Tab erzeugt), beschriftet ->default_tab($label, $order = null) den Tab, der die eigenen Top-Level-Felder der Tabelle enthält, damit er konsistent neben den Nested-Table-Tabs erscheint.

$xcrud->default_tab('Details', 1);
ParameterTypStandardBeschreibung
$labelstring-Beschriftung für den Tab mit den eigenen Top-Level-Feldern der Tabelle
$order?intnullPosition dieses Tabs relativ zu den Nested-Table-Tabs

Siehe Nested Tables als Tabs für die Nested-Table-Seite hiervon.

Rich Text mit dem Feldtyp editor

change_type($field, 'editor') tauscht die einfache Textarea eines Felds gegen einen Quill-WYSIWYG-Rich-Text-Editor aus und speichert das Ergebnis als HTML.

$xcrud->change_type('description', 'editor');

Siehe Feldtypen im Überblick für die vollständige Liste der Typen.

Alles zusammen

$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();