Columnas y campos: lo esencial
La cuadrícula y el formulario de creación/edición se configuran de forma completamente independiente - ->columns() controla una, ->fields() controla el otro.
->columns() controla la cuadrícula
->columns($columns, $reverse = false) restringe y ordena qué campos muestra la vista de LISTA (cuadrícula). $columns es una cadena separada por comas o un array de nombres de campo, mostrados en exactamente ese orden. Si nunca se llama: la cuadrícula muestra todas las columnas, en el orden natural de la tabla.
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
$columns | string|array | - | Lista de campos separada por comas, o un array de nombres de campo, en orden de visualización |
$reverse | bool | false | Cuando es true, $columns significa "todos los campos EXCEPTO estos" en lugar de "solo estos" |
Establecer $reverse = true es útil en una tabla ancha donde solo quieres ocultar una o dos columnas molestas en lugar de volver a listar todas las demás:
$xcrud->columns('internalNotes', true); // show every column except internalNotes
->fields() controla el formulario
->fields($fieldList, $useTabs = false, $sectionName = '') restringe y ordena qué columnas muestra el FORMULARIO DE CREACIÓN/EDICIÓN - un asunto completamente separado de ->columns(). Un campo puede aparecer en la cuadrícula pero no en el formulario, o en el formulario pero no en la cuadrícula; cada método solo afecta a su propia superficie.
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
$fieldList | string | - | Lista de campos separada por comas, en el orden en que el formulario debe mostrarlos |
$useTabs | bool | false | Cuando varias llamadas a fields() pasan cada una un $sectionName, convierte esas secciones en un selector de pestañas en lugar de secciones etiquetadas apiladas |
$sectionName | string | '' | Agrupa el $fieldList de esta llamada bajo una etiqueta de sección/pestaña con nombre |
Consulta Agrupación de campos, pestañas y texto enriquecido para la explicación completa de pestañas/secciones.
Ordenación y etiquetado
->order_by($field, $direction = 'asc') establece el orden inicial de la cuadrícula - los visitantes aún pueden hacer clic en el encabezado de una columna para reordenar después.
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
$field | string | - | Columna por la que ordenar inicialmente |
$direction | string | 'asc' | 'asc' o 'desc' |
->label($field, $label) establece un nombre de visualización personalizado para un campo, usado TANTO en el encabezado de columna de la cuadrícula como en la etiqueta del campo del formulario - una sola llamada cubre ambas superficies.
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
$field | string | - | El nombre de columna subyacente |
$label | string | - | Texto mostrado en lugar del nombre de columna original |
Uniéndolo todo
$xcrud = Xcrud::get_instance();
$xcrud->table('customers');
$xcrud->route('customers');
// Grid: only these three columns, customerName first
$xcrud->columns('customerName,city,creditLimit');
$xcrud->order_by('customerName', 'asc');
// Form: a different, larger field set
$xcrud->fields('customerName,contactFirstName,contactLastName,city,creditLimit,phone');
$xcrud->label('creditLimit', 'Credit Limit ($)');
$xcrud->render();