Jump to content

[solucionado] fallo menor con módulo ruralvía 0.8


josecarre
 Share

Recommended Posts

He instalado sin problemas el módulo ruralvía 0.8 (gracias, naveto)

 

El módulo va perfecto, procesa los pedidos sin problemas bien en pruebas (offline con easyphp, prestashop 1.3.7)

 

Lo único es que al seleccionar modos de pago, y antes de seleccionar el propio módulo ruralvía, me salen estos warnings y notices:

 

Notice: Use of undefined constant is - assumed 'is' in C:\Program Files\EasyPHP-5.3.3\www\tiendagales\modules\ruralvia\ruralvia.php on line 252

 

Notice: Use of undefined constant ymdHis - assumed 'ymdHis' in C:\Program Files\EasyPHP-5.3.3\www\tiendagales\modules\ruralvia\ruralvia.php on line 267

 

Warning: Missing argument 4 for ruralvia::firma(), called in C:\Program Files\EasyPHP-5.3.3\www\tiendagales\modules\ruralvia\ruralvia.php on line 270 and defined in C:\Program Files\EasyPHP-5.3.3\www\tiendagales\modules\ruralvia\ruralvia.php on line 214

 

Notice: Undefined variable: numpedido in C:\Program Files\EasyPHP-5.3.3\www\tiendagales\modules\ruralvia\ruralvia.php on line 217

 

Notice: Use of undefined constant si - assumed 'si' in C:\Program Files\EasyPHP-5.3.3\www\tiendagales\modules\ruralvia\ruralvia.php on line 275

 

 

No sé si puedo ignorarlos, si en producción no saldrán.... a alguien le ha pasado?

Share this post


Link to post
Share on other sites

Hombre, me gustaría que no diera problemas offline, sobre todo porque parece que son unos warnings que se pueden ignorar... el problema es que salen en la página y el cliente se podría asustar.

 

Da la pinta de que son variables no inicializadas o algo así, que yo soy de python y el php me da grima :) el caso es que luego el script funciona sin fallos.

Share this post


Link to post
Share on other sites

Bueno, ya me he librado del warning y del notice sobre undefined variable: en la línea 270 se llama a la función firma con sólo tres argumentos (tiene 4) porque se ha puesto un punto en vez de una coma:

 

mal
$firma = $this->firma($fecha, $importe, $moneda . $numpedido) ;
bien
$firma = $this->firma($fecha, $importe, $moneda, $numpedido) ;

 

ahora a ver si averiguo lo de las constantes undefined. Si hay alguien que domine php, por favor, ayuda: estas son las líneas que generan los notices:

 

línea 252:
$numpedido = str_pad($params['cart']->id, 8, "0", STR_PAD_LEFT) . date(is);

línea 267
$fecha = date(ymdHis);

línea 275:
if ($idioma==si){

Share this post


Link to post
Share on other sites

Bueno, así a lo loco, los tres últimos 'notice' se retiran si rodeas las constantes is, ymdHis y si con comillas, que es lo que dice el mensaje php que asume. En fin, ahora funciona sin avisos, aunque ya veremos en producción....

Share this post


Link to post
Share on other sites

Bueno, así a lo loco, los tres últimos 'notice' se retiran si rodeas las constantes is, ymdHis y si con comillas, que es lo que dice el mensaje php que asume. En fin, ahora funciona sin avisos, aunque ya veremos en producción....

Si has solucionado el tema, edita el titulo del tema, editando el primer post y añadiendo al solucionado al titulo.

 

Un saludo,

Share this post


Link to post
Share on other sites

vaaaale, sí creo que está solucionado....

 

bueno, por si le pasa a otro, esta es la solución completa:

 

Este es el módulo ruralvía 0.8, posteado por ahí en un hilo sobre caja rural. Ojo, no es el primero que postean, sino otro que envía después un usuario llamado naveto.

 

El caso es que al usarlo en ps 1.3.7 salen los cinco mensajes de error que puse arriba. Para evitarlos, hay que cambiar cuatro líneas en el archivo ruralvia.php:

 

Disclaimer: no sé programar en php. Esto lo he solucionado investigando

los códigos de error y funciona, al menos en pruebas en local. El lunes

lo probaré en producción, y si todo va bien, lo indicaré aquí.

 

línea 270:

 

mal

$firma = $this->firma($fecha, $importe, $moneda . $numpedido) ;

bien (ojo, es cambiar el último punto por una coma)

$firma = $this->firma($fecha, $importe, $moneda, $numpedido) ;

 

línea 252:

 

mal

$numpedido = str_pad($params['cart']->id, 8, "0", STR_PAD_LEFT) . date(is);

bien

$numpedido = str_pad($params['cart']->id, 8, "0", STR_PAD_LEFT) . date("is");

 

 

línea 267:

 

mal

$fecha = date(ymdHis);

bien

$fecha = date("ymdHis");

 

 

línea 275:

 

mal

if ($idioma==si){

bien

if ($idioma=="si"){

  • Like 1

Share this post


Link to post
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More