addFilterSelectWhere()

Añade un filtro de tipo select a la pestaña del ListController, con la peculiaridad de que es un filtro de filtros configurables. Es decir, cada una de las opciones de la lista del Select aplica un filtro DataBaseWhere predefinido en el controlador. Por ejemplo: una opción puede ser filtrar todos los datos que tengan false en la columna debaja, y otra opción filtrar todos los que codpais sea ESP. Otra particularidad de este filtro es que en caso de no haber seleccionado (por el usuario) una de las opciones se aplica automáticamente la primera opción.

Parámetros:

  • viewName: nombre identificador de la pestaña.
  • key: identificador del filtro. Generalmente el nombre del campo que quieras filtrar.
  • label: etiqueta a mostrar en el filtro. Se traducirá.
  • values: Array con la lista de valores a mostrar en el desplegable. Se compone de una etiqueta y un array de DataBaseWhere que se aplica cuando se seleccione esa opción.

addFilterSelectWhere()

Ejemplo: filtrar los clientes según su estado

Filtrar en la lista de clientes (vista ListCliente) los clientes según el estado designado en su ficha.

$this->addFilterSelectWhere('ListCliente', 'status', [
    ['label' => Tools::lang()->trans('all'), 'where' => []],
    ['label' => Tools::lang()->trans('only-active'), 'where' => [new DataBaseWhere('debaja', false)]],
    ['label' => Tools::lang()->trans('only-suspended'), 'where' => [new DataBaseWhere('debaja', true)]]
]);

Ejemplo en un EditController

En los EditController no se puede llamar directamente a $this->addFilterSelectWhere(). Hay que hacerlo a través de $this->views.

$this->views[$viewName]->addFilterSelectWhere('status', [
    ['label' => Tools::lang()->trans('all'), 'where' => []],
    ['label' => Tools::lang()->trans('only-active'), 'where' => [new DataBaseWhere('debaja', false)]],
    ['label' => Tools::lang()->trans('only-suspended'), 'where' => [new DataBaseWhere('debaja', true)]]
]);
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.55063s

Soporte