JohnPalomo Posted April 11, 2022 Share Posted April 11, 2022 Hola, Testando la última versión de presta he verificado que cuando quiero dar de alta un pedido desde el backoffice utilizando el enlace "pagar desde el frontoffice"(antes llamado "ir a la página de pago para procesar el pago", los datos de cliente del checkout aparecen vacíos. En mi tienda live cuando uso este enlace accedo directamente al checkout con los datos del cliente logueados y todas las casillas del checkout rellenas con los datos del cliente. Usamos onepagecheckout y tenemos la última versión. Alguien ha experimentado esto? Cómo podría intentar solventarlo? Gracias. Link to comment Share on other sites More sharing options...
Prestapepe Posted February 22, 2023 Share Posted February 22, 2023 Lo mismo por aquí, no funciona. versión 1.7.8 Help please Link to comment Share on other sites More sharing options...
Prestapepe Posted February 22, 2023 Share Posted February 22, 2023 Acabo de probar con la demo oficial de prestashop 1.7.8.8 y tampoco funciona, es un bug sin resolver en la última versión. Voy a ver si está reportado y si no a reportarlo! Link to comment Share on other sites More sharing options...
JohnPalomo Posted February 22, 2023 Author Share Posted February 22, 2023 Manda cojones....vamos como los cangrejos. Con lo útil que era esta opción para poder tomar un pedido telefónico y poder contactar con el tpv virtual desde el front logeado como el cliente. O simplemente para logearte y comprobar alguna anomalía que el cliente pudiera comunicarte telefónicamente. Link to comment Share on other sites More sharing options...
Prestapepe Posted February 22, 2023 Share Posted February 22, 2023 Un botón de login en la ficha de cliente no estaría de más pero claro esto es prestashop... Ya he dado de alta el bug: https://github.com/PrestaShop/PrestaShop/issues/31489 Link to comment Share on other sites More sharing options...
JohnPalomo Posted February 22, 2023 Author Share Posted February 22, 2023 cualquier novedad no dejes de compartirla....gracias Link to comment Share on other sites More sharing options...
Prestapepe Posted March 14, 2023 Share Posted March 14, 2023 (edited) https://github.com/PrestaShop/PrestaShop/issues/31489 Respuesta del bug: How to fix it: create a FrontController.php file in /override/classes/controller/ rewrite the recovertCart() function to fix it: `<?php class FrontController extends FrontControllerCore { /** Recovers cart information. @return int|false */ protected function recoverCart() { if (($id_cart = (int) Tools::getValue('recover_cart')) && Tools::getValue('token_cart') == md5(COOKIE_KEY . 'recover_cart_' . $id_cart)) { $cart = new Cart((int) $id_cart); if (Validate::isLoadedObject($cart)) { $customer = new Customer((int) $cart->id_customer); if (Validate::isLoadedObject($customer)) { $customer->logged = 1; $this->context->customer = $customer; $this->context->cookie->id_customer = (int) $customer->id; $this->context->cookie->customer_lastname = $customer->lastname; $this->context->cookie->customer_firstname = $customer->firstname; $this->context->cookie->logged = 1; $this->context->cookie->check_cgv = 1; $this->context->cookie->is_guest = $customer->isGuest(); $this->context->cookie->passwd = $customer->passwd; $this->context->cookie->email = $customer->email; // extra patch line $this->context->cookie->registerSession(new CustomerSession()); // end patch return $id_cart; } } } else { return false; } } } ` -> Yo he añadido estas líneas directamente en el archivo original (sin override) y parece que funciona bien // extra patch line $this->context->cookie->registerSession(new CustomerSession()); // end patch return Edited March 14, 2023 by Prestapepe (see edit history) Link to comment Share on other sites More sharing options...
JohnPalomo Posted March 15, 2023 Author Share Posted March 15, 2023 19 hours ago, Prestapepe said: https://github.com/PrestaShop/PrestaShop/issues/31489 Respuesta del bug: How to fix it: create a FrontController.php file in /override/classes/controller/ rewrite the recovertCart() function to fix it: `<?php class FrontController extends FrontControllerCore { /** Recovers cart information. @return int|false */ protected function recoverCart() { if (($id_cart = (int) Tools::getValue('recover_cart')) && Tools::getValue('token_cart') == md5(COOKIE_KEY . 'recover_cart_' . $id_cart)) { $cart = new Cart((int) $id_cart); if (Validate::isLoadedObject($cart)) { $customer = new Customer((int) $cart->id_customer); if (Validate::isLoadedObject($customer)) { $customer->logged = 1; $this->context->customer = $customer; $this->context->cookie->id_customer = (int) $customer->id; $this->context->cookie->customer_lastname = $customer->lastname; $this->context->cookie->customer_firstname = $customer->firstname; $this->context->cookie->logged = 1; $this->context->cookie->check_cgv = 1; $this->context->cookie->is_guest = $customer->isGuest(); $this->context->cookie->passwd = $customer->passwd; $this->context->cookie->email = $customer->email; // extra patch line $this->context->cookie->registerSession(new CustomerSession()); // end patch return $id_cart; } } } else { return false; } } } ` -> Yo he añadido estas líneas directamente en el archivo original (sin override) y parece que funciona bien // extra patch line $this->context->cookie->registerSession(new CustomerSession()); // end patch return Muchas gracias, pasaré esta url a mi desarrollador para que pueda incluir este código. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now