Que filtro de facetas no muestre productos sin stock en Prestashop

Que filtro de facetas no muestre productos sin stock en Prestashop

Se trata de una función que aún no está de serie en Prestashop y no lo entendemos porque sin duda mejora la experiencia por parte del cliente que está en nuestra tienda. El filtro de facetas es una herramienta muy poderosa que nos permite que el cliente pueda filtrar dentro de cada categoría para ver lo que realmente le interesa.

Pero este filtro no muestra por defecto sólo los productos con stock sino que los muestra todos, pudiendo generar mala impresión al comprador si el número de productos sin stock es alto.

Para solucionarlo y que el filtro solo nos muestre las productos con stock debemos hacer lo siguiente:

Debemos acceder por ftp a los archivos de nuestro prestashop y entrar concretamente en este archivo:

/modules/ps_facetedsearch/src/Product/Search.php

En la linea 147 encontraremos este código:

case ‘id_attribute_group’:
$operationsFilter = [];
foreach ($filterValues as $attributeId => $filterValue) {
$this->getSearchAdapter()->addOperationsFilter(
‘with_attributes_’ . $attributeId,
[[[‘id_attribute’, $filterValue]]]
);
}
break;

Y lo que debemos hacer es sustituirlo por este otro:

case ‘id_attribute_group’:
$operationsFilter = [];
foreach ($filterValues as $attributeId => $filterValue) {
$this->getSearchAdapter()->addOperationsFilter(
‘with_attributes_’ . $attributeId,
[[[‘id_attribute’, $filterValue]]]
);
}
//modded by Antonio to hide Out of Stock combinations
$operationsFilter = [];
$operationsFilter[] = [
[‘quantity’, [0], ‘>’],
];
$this->getSearchAdapter()->addOperationsFilter(
self::STOCK_MANAGEMENT_FILTER,
$operationsFilter
);
break;

Guardamos y LISTO!!!!, nuestro filtro de facetas solo nos mostrará los productos con stock. Recomendamos desactivar el contador de productos en la configuración del módulo de filtro por facetas ya que no funcionará correctamente.

NO ACTUALICÉIS EL MÓDULO O PERDERÉIS LAS FUNCIONES.


Abrir chat