Agustin Posted March 25, 2020 Share Posted March 25, 2020 (edited) Actualmente me encuentro en una situación donde tengo el ID de carrito y quiero generar un pedido en la plataforma de PrestaShop 1.6 usando el ID del carrito. Desde el punto en el que me encuentro tengo acceso a todos los controladores de la plataforma pero no encuentro la función para hacer este proceso. Edited March 25, 2020 by Agustin (see edit history) Link to comment Share on other sites More sharing options...
joseantgv Posted March 25, 2020 Share Posted March 25, 2020 Desde el backoffice puedes acceder al listado de pedidos y crear uno manualmente, buscando al cliente y luego seleccionando el carrito. Link to comment Share on other sites More sharing options...
Agustin Posted March 26, 2020 Author Share Posted March 26, 2020 Pero necesito hacerlo desde el código PHP. Link to comment Share on other sites More sharing options...
joseantgv Posted March 26, 2020 Share Posted March 26, 2020 Entonces mírate la función validateOrder() de la clase PaymentModule. Link to comment Share on other sites More sharing options...
Agustin Posted March 26, 2020 Author Share Posted March 26, 2020 (edited) Es la que estoy usando pero me tira el siguiente error, el $idCart me llega por una petición HTTP. Petición PaymentModule::validateOrder($idCart, 2, 10, "bankwire", null, array(), null, false, false, null); Error Fatal error: Uncaught Error: Using $this when not in object context in /Applications/MAMP/htdocs/prestashop-v1-6_1_24/classes/PaymentModule.php:170 Stack trace: #0 Edited March 26, 2020 by Agustin (see edit history) Link to comment Share on other sites More sharing options...
joseantgv Posted March 26, 2020 Share Posted March 26, 2020 Pues eso La función no es estática, tienes que instanciarla desde un módulo. Link to comment Share on other sites More sharing options...
Agustin Posted March 26, 2020 Author Share Posted March 26, 2020 (edited) No se puede hacer de alguna manera ? necesito hacer un endpoint donde se ejecute esta función para registrar un nuevo pedido a trabes de una petición donde me llega el ID del carrito. Edited March 26, 2020 by Agustin (see edit history) Link to comment Share on other sites More sharing options...
joseantgv Posted March 26, 2020 Share Posted March 26, 2020 Es que quizás no tienes que llamar a la función validateOrder(), si no mirar esa función y ver dónde coge el ID del carrito y crea el Order y todo lo que necesita 🤷♂️ Link to comment Share on other sites More sharing options...
Agustin Posted March 26, 2020 Author Share Posted March 26, 2020 Entonces la única manera seria creando un Order directamente con la siguientes instrucciones. $order = new Order(); $order->id_cart = $idCart; $order->id_shop = 1; .... $order->add(); 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