Genera una interfáz completa para administrar registros de una base de datos. Combina una tabla, donde se listan los registros, con un filtro de búsquedas y botones de acción y de paginación, todo estará contenido en una caja, encargada de la distribución de los elementos y de dar estilos al conjunto.
Para comenzar, se debe crear la caja y, opcionalmente, los botones para las diferentes acciones.
// box
$bbx = Backlist::getBox([ string $snippet= 'default', string $id = ''] );
// actions
$bac = $bbx->getActions();
$bac->create();
$bac->edit();
$bac->delete();
$bac->refresh();
$bbx->render( [string $content = ''] );
En la última línea, en el método render de la caja se puede incluir el resto de la lista, es decir, los filtros y la tabla. Sin embargo, este contenido también se puede incluir de modo asíncrono.
En el siguiente ejemplo se muestra cómo se crea la tabla, y, opcionalmente, los filtros.
// list
$bls = Backlist::get();
// filters
$bft = $bls->getFilters();
$bft->setValues($data);
$bft->search();
// table
$bls->setRows($rows);
//
$bls->check();
$bls->column(':name')->setLabel(_t('Name'));
$bls->column(':created_at')->setWidth(90);
$bls->status();
echo $bls->render();
En los filtros, los valores de los elementos se abregan todos juntos, igual a como lo hacen los formularios.
La tabla también ingresa todas las filas a través del método setRows. Luego, se definen cada una de las columnas que tendrá la tabla.