Código de idioma por defecto de la interfaz. '' significa las cadenas en inglés integradas en xcrud.js. Un código no vacío debe tener un languages/{code}.ini correspondiente; la propia ->set_lang() de una página anula este valor.
$columnVisibilityToggle
bool
true
Añade un alternador "Columnas" en la barra de herramientas que permite al operador mostrar/ocultar columnas de la cuadrícula a voluntad. Solo a nivel de sitio, sin anulación por página.
$buttonText
bool
true
Si los botones de acción por fila (Editar/Eliminar/cada ->button()) muestran icono+etiqueta, o solo icono con un tooltip al pasar el ratón. El propio ->button_style() de una tabla puede anular esto por tabla.
$loadingIndicator
string
'text'
'text' (una etiqueta "Processing…"), 'bar' (una barra de progreso compartida en la parte superior de la página) o 'spinner' (un pequeño icono giratorio) mientras carga una cuadrícula.
$intelligentColumnFit
bool
true
Valor por defecto a nivel de sitio para ocultar columnas que desbordan tras un alternador de expansión por fila en contenedores estrechos. Se puede anular por página con ->intelligent_column_fit().
$intelligentColumnArrangement
bool
true
Valor por defecto a nivel de sitio para reorganizar cada fila en una tarjeta apilada en pantallas de ancho de teléfono. Se puede anular por página con ->intelligent_column_arrangement().
Tamaños de página seleccionables mostrados en el control "filas por página".
$exportRowLimit
int
50000
Número máximo de filas que una sola petición de exportación CSV/XLSX/PDF traerá, independientemente de cuántas filas coincidan realmente con el filtro actual.
$importRowLimit
int
5000
Número máximo de filas de datos que una sola petición de importación CSV insertará. Se mantiene mucho más bajo que $exportRowLimit - cada fila ejecuta su propia inserción más los hooks.
$autocompleteLimit
int
8
Número máximo de sugerencias en vivo mostradas bajo el cuadro de búsqueda mientras el usuario escribe.
Activa un botón "View Code" en cada formulario de Añadir/Editar, mostrando el código PHP en bruto de la página que lo definió. Desactívalo en producción - consulta Despliegue en producción.
Librerías de terceros
$libraries es un array de URLs de CDN (o de la carpeta local libs/) que mejoran progresivamente ciertos campos. Si una URL no llega a cargar, el campo recurre a su control HTML nativo en lugar de romperse:
Clave
Potencia
flatpickr_js / flatpickr_css
Selector de fecha/fecha y hora más completo en campos de fecha.
quill_js / quill_css
change_type('field', 'editor') - el editor de texto enriquecido (WYSIWYG).
choices_js / choices_css
Menús desplegables con búsqueda/etiquetas para ->relation(..., search: true).
cropper_js / cropper_css
La interfaz interactiva de recorte por arrastre para change_type('field', 'image', '', ['manual_crop' => true]).
Subidas
Propiedad
Tipo
Por defecto
Descripción
$uploadDir
string
'media/'
Dónde se escriben los archivos subidos (relativo a la raíz del proyecto) - también la ruta de URL desde la que se sirven.
$uploadMaxSize
int
10 * 1024 * 1024 (10MB)
Tamaño máximo de subida en bytes, aplicado además de lo que ya limiten upload_max_filesize/post_max_size del propio php.ini.
$uploadAllowedImageExt
array
['jpg','jpeg','png','gif','webp']
Extensiones de imagen permitidas, verificadas tanto contra el nombre de archivo como contra los datos de imagen realmente detectados.
Convierte un nombre de campo en camelCase o snake_case en una etiqueta en formato título - por ejemplo, 'customerNumber'/'payment_date' se convierten en "Customer Number"/"Payment Date". Una palabra "id" suelta se pone en mayúsculas como "ID".
Emite la etiqueta theme.js del tema activo más cualquier recurso extra de CDN/fuentes para <head>, para una página sin widget que aun así quiere los globales JS del tema.
Xcrud::assetVersion(string $path): string
Devuelve una cadena de consulta ?v=<mtime> para invalidar la caché de un recurso estático propio de este proyecto (no para librerías de CDN, que ya están versionadas por URL).
echo Xcrud::humanize('paymentDate'); // "Payment Date"
// dentro de un column_callback():
return Xcrud::html('<span class="badge">Paid</span>');