addEditListView()

Añade una pestaña o sección para editar múltiples registros de un modelo en el EditController o PanelController. Se usa dentro de la función createViews() del controlador.

$this->addEditListView($viewName, $modelName, $viewTitle, $viewIcon)

  • $viewName: el identificador o nombre interno de esta pestaña o sección. Por ejemplo: EditProducto.
  • $modelName: el nombre del modelo que usará este listado. Por ejemplo: Producto.
  • $viewTitle: el título de la pestaña o sección. Será tarducido. Por ejemplo: products.
  • $viewIcon: (opcional) el icono a utilizar. Por ejemplo: fas fa-folder.

Ejemplo de uso:

protected function createViews() {
    // debemos dejar esta llamada a parent del EditController.
    parent::createViews();

    // añadimos la pestaña en una nueva función para tenerlo más agrupado
    $this->createViewsProductos();
}

protected function createViewsProductos(string $viewName = 'EditCuentaBancoCliente') {
    $this->addEditListView($viewName, 'CuentaBancoCliente', 'customer-banking-accounts', 'fas fa-piggy-bank');
}

ejemplo editlistview

Versión mini o inline

Podemos activar la versión reducida de esta pestaña añadiendo esta línea:

$this->views[$viewName]->setInLine(true);

XMLView

Esta nueva pestaña hará uso de un archivo XMLView con el mismo nombre que la pestaña, es decir, usará el archivo XMLView/EditCuentaBancoCliente.xml para saber qué campos debe mostrar en el formulario.

loadData($viewName, $view)

Para cargar los valores de esta pestaña, por ejemplo cuando queremos editar una cuenta bancaria, debemos implementar el método loadData(), que es la función que los PanelController y EditController llaman cuando tienen que cargar los valores de las pestañas o secciones.

protected function loadData($viewName, $view) {
    switch ($viewName) {
        default:
            // debemos dejar la llamada al parent
            parent::loadData($viewName, $view);
            break;

        case 'EditProducto':
            // obtenemos el codcliente de la pestaña EditCliente y filtramos
            $codcliente = $this->getViewModelValue('EditCliente', 'codcliente');
            $where = [new DataBaseWhere('codcliente', $codcliente)];
            $view->loadData('', $where);
            break;
    }
}

$this->getViewModelValue($viewName, $fieldName)

Utilice la función getViewModelValue() para obtener valores del modelo de otra pestaña/vista.

// obtenemos el valor de codcliente del modelo de la pestaña EditCliente
$codcliente = $this->getViewModelValue('EditCliente', 'codcliente');
Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2025 FacturaScripts
0.62508s

Soporte