Solución al Error “Invalid $number parameter: '' cannot be interpreted as a number” en Prestashop

error invalid number parameter prestashop

El error "Invalid $number parameter: '' cannot be interpreted as a number" en Prestashop puede ocurrir al intentar acceder a la sección Catálogo > Productos desde la vista de "Todas las tiendas" en una configuración multitienda. Este problema se debe a cómo Prestashop maneja valores vacíos en el archivo Locale.php. Aquí te mostramos cómo solucionarlo.

Índice
  1. Causas del Error
  2. Cómo Solucionar el Error Invalid $number parameter
  3. Recomendaciones Adicionales

Causas del Error

  • Valores nulos o vacíos: El sistema intenta interpretar un valor vacío como un número, lo que genera un conflicto.
  • Configuración multitienda: El problema se presenta al trabajar en la vista global, pero desaparece en tiendas individuales.
  • Versiones afectadas: Este error es común en Prestashop 1.7 y posteriores como la versión 8 no actualizadas.

Cómo Solucionar el Error Invalid $number parameter

1. Identifica el Archivo Problemático

El error se encuentra en el archivo: src/Core/Localization/Locale.php. Necesitarás editarlo para corregir el problema.

2. Modifica el Archivo `Locale.php`

path fichero locale prestashop
  1. Accede a los archivos de Prestashop utilizando un cliente FTP o el administrador de archivos de tu servidor.
  2. Ubica el archivo en la ruta:
    src/Core/Localization/Locale.php

  3. Abre el archivo con un editor de código como VS Code o Sublime Text.
  4. Añade la siguiente línea de código en la línea 152, o en el lugar correspondiente:
    if ($number === null) return null;

La función completa debería lucir así después del cambio:

public function formatNumber($number) {
    if ($number === null) return null;
    // Resto del código original
}
            
modificacion codigo fichero locale prestashop

3. Guarda y Sube el Archivo Modificado

  1. Guarda los cambios realizados en Locale.php.
  2. Súbelo al servidor en la misma ubicación original.

4. Limpia la Caché

Desde el Back Office de Prestashop, ve a Parámetros avanzados > Rendimiento y limpia la caché del sistema para aplicar los cambios.

5. Verifica el Funcionamiento

Intenta acceder nuevamente a Catálogo > Productos desde la vista "Todas las tiendas". El error debería estar resuelto.

Recomendaciones Adicionales

  • Respalda antes de modificar: Siempre realiza una copia de seguridad de los archivos antes de realizar cambios importantes.
  • Mantén Prestashop actualizado: Asegúrate de usar la última versión compatible de Prestashop.
  • Prueba en un entorno de desarrollo: Aplica y prueba los cambios en un entorno de prueba antes de implementarlos en tu sitio en producción.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir