Code de langue UI par défaut. '' signifie les chaînes anglaises intégrées dans xcrud.js. Un code non vide doit avoir un fichier languages/{code}.ini correspondant ; le propre ->set_lang() d'une page prévaut sur ce réglage.
$columnVisibilityToggle
bool
true
Ajoute une bascule « Colonnes » dans la barre d'outils permettant à l'opérateur d'afficher/masquer les colonnes de la grille à volonté. Uniquement pour tout le site, pas de surcharge par page.
$buttonText
bool
true
Détermine si les boutons d'action de ligne (Éditer/Supprimer/chaque ->button()) affichent icône+libellé, ou icône seule avec une infobulle au survol. Le propre ->button_style() d'une table peut le surcharger par table.
$loadingIndicator
string
'text'
'text' (un libellé « Traitement en cours… »), 'bar' (une barre de progression partagée en haut de page) ou 'spinner' (une petite icône tournante) pendant le chargement d'une grille.
$intelligentColumnFit
bool
true
Valeur par défaut pour tout le site permettant de masquer les colonnes en débordement derrière une bascule d'expansion par ligne sur des conteneurs étroits. Surchargeable par page via ->intelligent_column_fit().
$intelligentColumnArrangement
bool
true
Valeur par défaut pour tout le site permettant de réorganiser chaque ligne en carte empilée sur les écrans de largeur téléphone. Surchargeable par page via ->intelligent_column_arrangement().
Tailles de page sélectionnables affichées dans le contrôle « lignes par page ».
$exportRowLimit
int
50000
Nombre maximal de lignes qu'une seule requête d'export CSV/XLSX/PDF récupérera, quel que soit le nombre de lignes réellement conformes au filtre courant.
$importRowLimit
int
5000
Nombre maximal de lignes de données qu'une seule requête d'import CSV insérera. Maintenu bien plus bas que $exportRowLimit - chaque ligne exécute sa propre insertion plus ses hooks.
$autocompleteLimit
int
8
Nombre maximal de suggestions en direct affichées sous la zone de recherche pendant que l'utilisateur tape.
Active un bouton « Voir le code » sur chaque formulaire d'ajout/édition, montrant le source PHP brut de la page qui l'a défini. À désactiver en production - voyez Déployer en production.
Bibliothèques tierces
$libraries est un tableau d'URL CDN (ou locales sous libs/) qui améliorent progressivement certains champs. Si une URL ne se charge pas, le champ se rabat sur son contrôle HTML natif au lieu de se casser :
Clé
Alimente
flatpickr_js / flatpickr_css
Sélecteur de date/date-heure plus riche sur les champs de date.
quill_js / quill_css
change_type('field', 'editor') - l'éditeur de texte enrichi (WYSIWYG).
choices_js / choices_css
Listes déroulantes avec recherche/tags pour ->relation(..., search: true).
cropper_js / cropper_css
L'interface interactive de recadrage par glisser-déposer pour change_type('field', 'image', '', ['manual_crop' => true]).
Téléversements
Propriété
Type
Défaut
Description
$uploadDir
string
'media/'
Où les fichiers téléversés sont écrits (relatif à la racine du projet) - aussi le chemin URL depuis lequel ils sont servis.
$uploadMaxSize
int
10 * 1024 * 1024 (10 Mo)
Taille maximale de téléversement en octets, appliquée en plus de ce que upload_max_filesize/post_max_size de php.ini plafonnent déjà.
$uploadAllowedImageExt
array
['jpg','jpeg','png','gif','webp']
Extensions d'image autorisées, vérifiées à la fois par rapport au nom de fichier et aux données d'image réellement détectées.
Transforme un nom de champ en camelCase ou snake_case en un libellé Title Case - par exemple 'customerNumber'/'payment_date' deviennent « Customer Number »/« Payment Date ». Un mot "id" isolé est mis en majuscules en « ID ».
Enveloppe du balisage fiable pour qu'un retour de column_callback() s'affiche comme du véritable HTML dans la grille au lieu d'être échappé en texte brut. Voyez Rendu personnalisé des cellules : badges et avatars.
Xcrud::uiAssets(): string
Émet la balise theme.js du thème actif ainsi que tout asset CDN/police supplémentaire pour <head>, pour une page sans widget qui veut quand même les globales JS du thème.
Xcrud::assetVersion(string $path): string
Renvoie une chaîne de requête de contournement de cache ?v=<mtime> pour un asset statique appartenant à ce projet (pas pour les bibliothèques CDN, déjà versionnées par URL).
echo Xcrud::humanize('paymentDate'); // "Payment Date"
// à l'intérieur d'un column_callback():
return Xcrud::html('<span class="badge">Paid</span>');