Agrupación de campos, pestañas y texto enriquecido
Divide un formulario largo en secciones o pestañas colapsables, y añade un campo editor de texto enriquecido Quill.
fields_arrange() - secciones colapsables
->fields_arrange($fields, $groupLabel, $collapsed = false) agrupa campos en una sección etiquetada y colapsable - un encabezado con un interruptor de expandir/colapsar, en lugar de una lista plana. Llámalo una vez por grupo, en el orden en que deben aparecer los grupos.
$xcrud->fields_arrange('firstName,lastName,email', 'Contact Info');
$xcrud->fields_arrange('addressLine1,city,postalCode', 'Address', true);
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
$fields | string | - | Campos separados por comas que pertenecen a este grupo |
$groupLabel | string | - | Texto de encabezado mostrado sobre el grupo |
$collapsed | bool | false | Cuando es true, el grupo empieza colapsado en lugar de expandido |
fields() como selector de pestañas
->fields() también puede llamarse varias veces con $useTabs = true para construir un selector de pestañas en lugar de un único formulario largo - cada llamada se convierte en una pestaña, con $sectionName como etiqueta de esa pestaña. Todo campo nombrado a lo largo de todas las llamadas permanece en lista blanca/editable exactamente como lo exigiría una sola llamada a fields().
$xcrud->fields('firstName,lastName,email', true, 'Contact');
$xcrud->fields('addressLine1,city,postalCode', true, 'Address');
$xcrud->fields('notes', true, 'Notes');
Todas las llamadas a fields() que nombran una sección deben coincidir en $useTabs (todas con pestañas, o todas planas) - y las secciones con pestañas son mutuamente excluyentes con ->fields_arrange() en la misma página. Combinar secciones planas (sin pestañas) con fields_arrange() es correcto, ya que no compiten por el mismo rol visual.
Cuando una tabla también usa nested_table() (que crea su propia pestaña por cada hija), ->default_tab($label, $order = null) etiqueta la pestaña que contiene los propios campos de nivel superior de la tabla, para que se lea de forma consistente junto a las pestañas de tablas anidadas.
$xcrud->default_tab('Details', 1);
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
$label | string | - | Etiqueta para la pestaña de campos de nivel superior propios de la tabla |
$order | ?int | null | Posición de esta pestaña respecto a las pestañas de tablas anidadas |
Consulta Tablas anidadas como pestañas para el lado de tablas anidadas de esto.
Texto enriquecido con el tipo de campo editor
change_type($field, 'editor') reemplaza el textarea plano de un campo por un editor de texto enriquecido WYSIWYG Quill, almacenando el resultado como HTML.
$xcrud->change_type('description', 'editor');
Consulta Resumen de tipos de campo para la lista completa de tipos.
Uniéndolo todo
$xcrud = Xcrud::get_instance();
$xcrud->table('products');
$xcrud->route('products');
$xcrud->change_type('description', 'editor');
$xcrud->fields('productName,productLine,quantityInStock', true, 'Overview');
$xcrud->fields('description', true, 'Description');
$xcrud->fields('buyPrice,MSRP', true, 'Pricing');
$xcrud->render();