/

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ámetroTipoPor defectoDescripción
$fieldsstring-Campos separados por comas que pertenecen a este grupo
$groupLabelstring-Texto de encabezado mostrado sobre el grupo
$collapsedboolfalseCuando 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ámetroTipoPor defectoDescripción
$labelstring-Etiqueta para la pestaña de campos de nivel superior propios de la tabla
$order?intnullPosició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();