gusman126 Posted September 29, 2018 Share Posted September 29, 2018 (edited) he desarrollado un modulo que lee los datos y añade la información a un carrito EDITO para aclarar : Este carrito se genera con un fichero php, ha sido llamado desde un CRON que lee la información por una llamada "curl" , no esta generando el carrito mientras se visita o se usa la pagina web. Parecido a si leyera los datos desde un CSV -> carrito -> Pedido Añade el cliente nuevo $customer = new CustomerCore(); Añade la dirección $address_shipping = new Address(); genera el carrito $cart = new Cart(); Añade los productos foreach ($productos as $producto){ $cart->updateQty($qty, $id_product, $attr); } Lo guarda y hasta aqui todo ok, compruebo el carrito y esta añadido con todos los productos 1,2,3 o mas Valido el pedido asociándolo a un modulo de pago y genero el pedido $pago->validateOrder($id_cart, $order_status, $total_products, 'Pagado', NULL, array(), (int)$id_currency, false, $customer->secure_key); $order = new Order($pago->currentOrder); $order->setCurrentState($order_status); $order->save(); Y aqui el problema, El pedido solo se queda con 1 producto, no añade los productos del carrito al pedido, siempre 1 , tenga el carrito 1,2 o mas Solución? Edited September 29, 2018 by gusman126 (see edit history) Link to comment Share on other sites More sharing options...
Enrique Gómez Posted September 29, 2018 Share Posted September 29, 2018 No se si te servirá , En 1.6 algún módulo con el que he trabajado en el hook hookactionCartSave coje el carrito y lo modifica, pero no crea uno nuevoa. public function hookactionCartSave($params) { if (isset($params['cart'])) { $cart = $params['cart']; El carrito se suele coger del contexto y no crear uno nuevo. Si creas uno nuevo hay que meterlo en el contexto También puedes recuperar el carrito con el id.. pero el tema es que esta relacionado siempre con la clase Context http://doc.prestashop.com/display/PS16/Using+the+Context+Object Link to comment Share on other sites More sharing options...
gusman126 Posted September 29, 2018 Author Share Posted September 29, 2018 hace 35 minutos, Enrique Gómez dijo: No se si te servirá , En 1.6 algún módulo con el que he trabajado en el hook hookactionCartSave coje el carrito y lo modifica, pero no crea uno nuevoa. public function hookactionCartSave($params) { if (isset($params['cart'])) { $cart = $params['cart']; El carrito se suele coger del contexto y no crear uno nuevo. Si creas uno nuevo hay que meterlo en el contexto También puedes recuperar el carrito con el id.. pero el tema es que esta relacionado siempre con la clase Context http://doc.prestashop.com/display/PS16/Using+the+Context+Object Ok, lo probare gracias. Se me ha olvidado indicar que es una llamada con un "cron" por lo que no esta generando ese carrito mientras se esta visitando o viendo la pagina, Lo mas extraño es que el carrito se añade perfectamente, incluso he probado a quitar el codigo de validar el pedido, he ido al carrito y generado manualmente el pedido y ha creado perfectamente el pedido con 2 productos. 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