Jump to content

Error en función al pasar a Prestashop 1.6


Recommended Posts

Hola , 

 

en la nueva versión de prestashop 1.6 me da este error que no me daba en anteriores ( puede que en la 1.5 también dé pero no he probado ) 

 

Notice on line 859 en archivo C:\develop\prestashop\modules\cliente\Module.php
[8] Undefined variable: module

Warning on line 862 en archivo C:\develop\prestashop\modules\cliente\Module.php
[2] array_filter() expects parameter 2 to be a valid callback, no array or string given

Warning on line 37 en archivo C:\develop\prestashop\modules\cliente\lib\array_column.php
[512] array_column() expects parameter 1 to be array, NULL given

Warning on line 746 en archivo C:\develop\prestashop\modules\cliente\Module.php
[2] join(): Invalid arguments passed

 

El código que tengo es el siguiente : 

 

746

 

protected function displayCashOnDeliveryModulesInput($value) {
return empty($value) ? join(', ', $this->getCashOnDeliveryPaymentModules()) : $value;
}

 

 

859 

 

private function getCashOnDeliveryPaymentModules() {
$filterCashOnDeliveryPaymentModules = strpos($module['name'], 'cash') !== false && strpos($module['name'], 'delivery') !== false;
 
 
return array_column(array_filter($this->getPaymentModules(), $filterCashOnDeliveryPaymentModules), 'name');
}
 
 
Parece un problema de compatibilidad con la funciones del array pero no tengo muy claro que puede ser y la solución
 
 
Link to comment
Share on other sites

Buenos días.

 

Antes de nada, matizar que se tratan de warnings, no de errores. Esto significa que, desactivando el modo debug, no verás ninguna advertencia.

De todas formas, eso no significa que todo funcione como debería.

 

En el primer warning (Module.php, linea 859) usas la variable $module sin antes declararla. En php no hace falta, y por eso se produce el warning. 

Comprueba que dicha linea funciona correctamente. Si es asi, podrías no hacer nada. En caso contrario, tendrás que buscar una solución para obtener la variable $module.

1. Es posible que dicha variable venga en los parámetros de la llamada a la función?

2. Yo evitaría tener un modulo llamado Module.

 

En los tres siguientes warnings, los parámetros que les indicas a las funciones no son los correctos.

 

Sin ver el código completo, no puedo decirte más, espero que esto te sirva de algo.

Link to comment
Share on other sites

Entonces el problema es de contexto, no de funcionalidad. Desde la versión 1.4, han cambiado muchas cosas, clases, funciones, etc.

Esto significa que el problema no es de la función, si no que los parámetros que le envías son erróneos, seguramente porque la forma en que los obtenías en prestashop 1.4, ya no es posible en la 1.6

 

 

Revisa tu código, ya que te va a hacer falta escribirlo de nuevo.

Edited by Gabriel Perez (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...