Este error me produjo más de un dolor de cabeza en Prestashop. En ocasiones cuando migras productos de otra plataforma a Prestashop, pueden ocurrir ciertos errores. En este caso sucede que un producto tiene un problema con sus precios, con la consecuencia de que Prestashop considera que no tiene un precio o su valor es nulo.
Este problema, hace que cuando estamos intentando acceder a la administración de nuestro catálogo a través del BackOffice, no llegue a mostrarnos ningún producto y aparezca el siguiente error:
Invalid $number parameter: «» cannot be interpreted as a number
Fuente original de la solución al problema: https://www.prestashop.com/forums/topic/1040711-invalid-number-parameter-cannot-be-interpreted-as-a-number/
La solución temporal, la podemos encontrar en una pequeña modificación del código que debemos realizar en la instalación de nuestra tienda online.
Tenéis que abrir y editar el siguiente archivo: «src/Adapter/Product/AdminProductDataProvider.php«
ANTES
if ($formatCldr) {
$product['price'] = $localeCldr->formatPrice($product['price'], $currency->iso_code);
$product['price_final'] = $localeCldr->formatPrice($product['price_final'], $currency->iso_code);
}
DESPUÉS
if ($formatCldr && $product['price'] != null && $product['price_final'] != null) {
$product['price'] = $localeCldr->formatPrice($product['price'], $currency->iso_code);
$product['price_final'] = $localeCldr->formatPrice($product['price_final'], $currency->iso_code);
}
Como podréis observar, la modificación solo está afectando a la parte condicional del if. Con esto, lograremos entrar a nuestro catálogo y aquí te animaría a que echaras un vistazo a aquel producto que te está provocando el error en cuestión. Pudiendo plantearte el subirlo de nuevo o eliminarlo del todo.
Espero que te sea de utilidad en caso de que tengas el mismo problema y agradecer al usuario Asger22 del foro de Prestashop por su aporte a la comunidad.
PD. Esta solución fue testada en la versión 1.7.8.8 de Prestashop.