Standard-UI-Sprachcode. '' bedeutet die eingebauten englischen Strings, die fest in xcrud.js stecken. Ein nicht-leerer Code benötigt eine passende languages/{code}.ini; der eigene ->set_lang()-Aufruf einer Seite überschreibt dies.
$columnVisibilityToggle
bool
true
Fügt einen "Spalten"-Toolbar-Umschalter hinzu, mit dem der Bediener Grid-Spalten nach Belieben ein-/ausblenden kann. Nur site-weit, kein Override pro Seite.
$buttonText
bool
true
Ob Zeilen-Aktions-Buttons (Bearbeiten/Entfernen/jeder ->button()) Icon+Beschriftung zeigen oder nur ein Icon mit Hover-Tooltip. Der eigene ->button_style()-Aufruf einer Tabelle kann dies pro Tabelle überschreiben.
$loadingIndicator
string
'text'
'text' (eine "Wird verarbeitet…"-Beschriftung), 'bar' (ein gemeinsamer Fortschrittsbalken am Seitenkopf) oder 'spinner' (ein kleines drehendes Symbol) während ein Grid lädt.
$intelligentColumnFit
bool
true
Site-weiter Standard, um überlaufende Spalten in schmalen Containern hinter einem Aufklapp-Umschalter pro Zeile zu verstecken. Pro Seite überschreibbar über ->intelligent_column_fit().
$intelligentColumnArrangement
bool
true
Site-weiter Standard, um jede Zeile auf Bildschirmen in Telefonbreite zu einer gestapelten Karte umzufließen. Pro Seite überschreibbar über ->intelligent_column_arrangement().
Auswählbare Seitengrößen, angezeigt im "Zeilen pro Seite"-Steuerelement.
$exportRowLimit
int
50000
Maximale Zeilenanzahl, die eine einzelne CSV-/XLSX-/PDF-Exportanfrage abruft, unabhängig davon, wie viele Zeilen tatsächlich dem aktuellen Filter entsprechen.
$importRowLimit
int
5000
Maximale Anzahl Datenzeilen, die eine einzelne CSV-Importanfrage einfügt. Deutlich niedriger gehalten als $exportRowLimit - jede Zeile durchläuft ihren eigenen Insert plus Hooks.
$autocompleteLimit
int
8
Maximale Anzahl Live-Vorschläge, die unter dem Suchfeld beim Tippen angezeigt werden.
Aktiviert einen "View Code"-Button auf jedem Hinzufügen-/Bearbeiten-Formular, der den rohen PHP-Quellcode der Seite zeigt, die es definiert hat. Im Produktivbetrieb abschalten - siehe Produktivbetrieb einrichten.
Drittanbieter-Bibliotheken
$libraries ist ein Array von CDN- (oder lokalen libs/-) URLs, die bestimmte Felder progressiv verbessern. Lässt sich eine URL nicht laden, fällt das Feld auf sein natives HTML-Steuerelement zurück, statt kaputtzugehen:
Schlüssel
Ermöglicht
flatpickr_js / flatpickr_css
Erweiterte Datum-/Datumzeit-Auswahl auf Datumsfeldern.
quill_js / quill_css
change_type('field', 'editor') - der Rich-Text-(WYSIWYG-)Editor.
choices_js / choices_css
Durchsuchbare/taggbare Dropdowns für ->relation(..., search: true).
cropper_js / cropper_css
Die interaktive Drag-to-Crop-Oberfläche für change_type('field', 'image', '', ['manual_crop' => true]).
Uploads
Eigenschaft
Typ
Standard
Beschreibung
$uploadDir
string
'media/'
Wohin hochgeladene Dateien geschrieben werden (relativ zum Projekt-Root) - auch der URL-Pfad, unter dem sie ausgeliefert werden.
$uploadMaxSize
int
10 * 1024 * 1024 (10 MB)
Maximale Upload-Größe in Byte, zusätzlich zu dem, was php.inis eigene upload_max_filesize/post_max_size bereits deckeln.
$uploadAllowedImageExt
array
['jpg','jpeg','png','gif','webp']
Erlaubte Bild-Erweiterungen, geprüft sowohl gegen den Dateinamen als auch gegen die tatsächlich erkannten Bilddaten.
Verwandelt einen camelCase- oder snake_case-Feldnamen in ein Title-Case-Label - z. B. werden 'customerNumber'/'payment_date' zu "Customer Number"/"Payment Date". Ein alleinstehendes Wort "id" wird zu "ID" großgeschrieben.
Umschließt vertrauenswürdiges Markup, damit der Rückgabewert eines column_callback() im Grid als echtes HTML gerendert wird, statt als reiner Text escaped zu werden. Siehe Individuelles Zellen-Rendering: Badges & Avatare.
Xcrud::uiAssets(): string
Gibt das theme.js-Tag des aktiven Themes sowie alle zusätzlichen CDN-/Font-<head>-Assets aus, für eine Seite ohne Widget, die trotzdem die JS-Globalen des Themes möchte.
Xcrud::assetVersion(string $path): string
Liefert eine ?v=<mtime>-Cache-Busting-Query-String für ein statisches Asset, das diesem Projekt gehört (nicht für CDN-Bibliotheken, die bereits über die URL versioniert sind).
echo Xcrud::humanize('paymentDate'); // "Payment Date"
// innerhalb eines column_callback():
return Xcrud::html('<span class="badge">Paid</span>');