/

Spalten & Felder Grundlagen

Das Grid und das Erstellen-/Bearbeiten-Formular werden völlig unabhängig voneinander konfiguriert - ->columns() steuert das eine, ->fields() das andere.

->columns() steuert das Grid

->columns($columns, $reverse = false) schränkt ein und ordnet, welche Felder die LISTEN-Ansicht (Grid) zeigt. $columns ist ein kommagetrennter String oder ein Array von Feldnamen, dargestellt in genau dieser Reihenfolge. Wird die Methode nie aufgerufen, zeigt das Grid jede Spalte in der natürlichen Reihenfolge der Tabelle.

ParameterTypStandardBeschreibung
$columnsstring|array-Kommagetrennte Feldliste oder ein Array von Feldnamen, in Anzeigereihenfolge
$reverseboolfalseBei true bedeutet $columns "jedes Feld AUSSER diesen" statt "nur diese"

$reverse = true zu setzen ist praktisch bei einer breiten Tabelle, bei der Sie nur ein oder zwei störende Spalten ausblenden wollen, statt alle anderen erneut aufzulisten:

$xcrud->columns('internalNotes', true); // zeigt jede Spalte außer internalNotes

->fields() steuert das Formular

->fields($fieldList, $useTabs = false, $sectionName = '') schränkt ein und ordnet, welche Spalten das ERSTELLEN-/BEARBEITEN-Formular zeigt - ein völlig eigenständiges Anliegen gegenüber ->columns(). Ein Feld kann im Grid, aber nicht im Formular erscheinen, oder im Formular, aber nicht im Grid; jede Methode wirkt sich immer nur auf ihre eigene Oberfläche aus.

ParameterTypStandardBeschreibung
$fieldListstring-Kommagetrennte Feldliste, in der Reihenfolge, in der das Formular sie zeigen soll
$useTabsboolfalseWenn mehrere fields()-Aufrufe jeweils einen $sectionName übergeben, werden diese Abschnitte zu einem Tab-Umschalter statt gestapelter beschrifteter Abschnitte
$sectionNamestring''Gruppiert die $fieldList dieses Aufrufs unter einer benannten Sektions-/Tab-Beschriftung

Die vollständige Beschreibung von Tabs/Abschnitten finden Sie unter Feldgruppierung, Tabs & Rich Text.

Sortieren und Beschriften

->order_by($field, $direction = 'asc') legt die anfängliche Sortierung des Grids fest - Besucher können danach weiterhin auf einen Spaltenkopf klicken, um erneut zu sortieren.

ParameterTypStandardBeschreibung
$fieldstring-Spalte, nach der anfänglich sortiert wird
$directionstring'asc''asc' oder 'desc'

->label($field, $label) legt einen individuellen Anzeigenamen für ein Feld fest, verwendet SOWOHL im Spaltenkopf des Grids als auch im Feldlabel des Formulars - ein Aufruf deckt beide Oberflächen ab.

ParameterTypStandardBeschreibung
$fieldstring-Der zugrunde liegende Spaltenname
$labelstring-Anzeigetext, der statt des rohen Spaltennamens gezeigt wird

Alles zusammen

$xcrud = Xcrud::get_instance();
$xcrud->table('customers');
$xcrud->route('customers');

// Grid: nur diese drei Spalten, customerName zuerst
$xcrud->columns('customerName,city,creditLimit');
$xcrud->order_by('customerName', 'asc');

// Formular: ein anderer, größerer Feldsatz
$xcrud->fields('customerName,contactFirstName,contactLastName,city,creditLimit,phone');

$xcrud->label('creditLimit', 'Credit Limit ($)');

$xcrud->render();