Jump to content

Undefined variable: id_currency on line 652


Recommended Posts

Buenos días a todos,

Resulta que en el proceso de compra, después de insertar los datos de cliente (como invitado, no como cliente registrado) al pasar a la página de transportista me sale este error:

 

Notice: Undefined variable: id_currency in /var/www/vhosts/tiendaproteinas.es/httpdocs/classes/Carrier.php on line 652

 

No sé lo que puede estar fallando porque si actualizo esa página entonces me deja continuar con el proceso de compra e incluso terminarlo sin problema, pero claro si esto le sale a un cliente no va a refrescar...

 

Adjunto un pantallazo de lo que me sale, porque luego me sale un montón de código... y no entiendo nada, la verdad. Tampoco soy desarrollador experto.

 

Tengo la versión 1.6.1.1 y activado el proceso de compra en 5 pasos

 

La web es www.tiendaproteinas.es

 

Alguien me puede ayudar?

 

Muchísimas gracias!!

 

Link to comment
Share on other sites

¡Buenas!

 

Acabo de probar en tu tienda a hacer un pedido sin registro y se queda en el proceso. ¿Has puesto un "ddd" en el código?

 

Por lo visto no está haciendo esta parte:

if (isset($context->currency)) {
   $id_currency = $context->currency->id;
}

Prueba a mostrar lo que contiene "$context" porque por lo visto no tiene currency en su interior y por lo tanto no asigna "id_currency". Una solución temporal sería asignar manualmente ese $id_currency a la que vayas a usar en tu tienda, aunque como te digo es una solución temporal y no válida si trabajas con varias monedas.

Link to comment
Share on other sites

Disculpa, no soy programador y me pierdo con algunas cosas.

 

¿A qué te refieres con si he puesto un "ddd" en el código?

 

¿Cómo hago para mostrar lo que contiene "$context"?

 

Esto es lo que me viene en la línea 652 del "carrier.php"

 

 

 if ($shipping_method == Carrier::SHIPPING_METHOD_PRICE
                        && (!Carrier::checkDeliveryPriceByPrice($row['id_carrier'], $cart->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING), $id_zone, $id_currency))) {
                        $error[$carrier->id] = Carrier::SHIPPING_PRICE_EXCEPTION;
                        unset($result[$k]);
                        continue;

 

 

¿Hay algo mal?

 

Sólo trabajo con euros, y no tengo pensado trabajar con otras monedas a corto-medio plazo, ¿me valdría la solución que dices entonces?

 

Muchísimas gracias!!

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

Buenas,

 

No hay algo mal pero es extraño que si no has tocado nada de programación no te funcione y además te suelte toda la información como he visto (¿tal vez tienes el modo debug activado?)

 

Haz una pequeña prueba y deja el código de la siguiente manera para ver si te funciona:

$id_currency = 1;
if ($shipping_method == Carrier::SHIPPING_METHOD_PRICE.....

Como te comento no es solución, pero por lo menos veremos si continúa el proceso de compra.

Link to comment
Share on other sites

Buff, he dejado ese trozo de código como me indicas y nada...

lo he cambiado en todos los sitios donde aparece id_currency en el "carrier.php" y nada, sigue igual

 

No sé si lo estaré cambiando mal... Ya no sé qué hacer.... :(

 

¿Donde se activa/desactiva el modo debug?

Link to comment
Share on other sites

Si realmente no has tocado código previamente es imposible que tengas el modo debug activado, ya que se activa en 1.6 a través de la edición de un fichero. ¿La tienda la ha tocado alguien más que tú?

 

La línea que te puse es la 652, justamente la que petaba, por lo que es prácticamente imposible que falle si lo has hecho bien.

 

Ahora mismo estoy probando y parece funcionar, pero desde luego es extraño que si nadie ha tocado código esté fallando. A ver si me puedes aclarar esa cuestión.

Link to comment
Share on other sites

Si, la ha tocado otra persona pero me asegura que no ha tocado nada, que sólo ha subido productos y ha cambiado los banners de los ganchos top del configurador de temas...

 

No sé, porque antes funcionaba y ahora no.

 

Dices que ahora funciona? yo he vuelto a hacer una prueba y no funciona. Funciona si te guarda la sesión, pero borrando las cookies con una sesión nueva peta...

 

La verdad es que estoy desesperado porque no sé cómo arreglarlo siendo un tema tan crítico... Si necesitas que te de acceso por privado a algún archivo para ver si me puedes ayudar tú no tengo problema.

 

Mil gracias!!

Link to comment
Share on other sites

Si, la ha tocado otra persona pero me asegura que no ha tocado nada, que sólo ha subido productos y ha cambiado los banners de los ganchos top del configurador de temas...

 

No sé, porque antes funcionaba y ahora no.

 

Dices que ahora funciona? yo he vuelto a hacer una prueba y no funciona. Funciona si te guarda la sesión, pero borrando las cookies con una sesión nueva peta...

 

La verdad es que estoy desesperado porque no sé cómo arreglarlo siendo un tema tan crítico... Si necesitas que te de acceso por privado a algún archivo para ver si me puedes ayudar tú no tengo problema.

 

Mil gracias!!

 

Cierto, es tema de sesión. Si lo hago con navegación privada falla. Te mando mensaje por el tema del acceso.

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...