Jump to content

Cambiar estado pedido con un módulo


Recommended Posts

Hola;

Estoy desarrollando un módulo para que el pedido cambie del estado (id=4) al estado (id=16) cada vez que se ejecute el módulo. Mi intención es ejecutar el módulo mediante una tarea de cron. Desde ya os digo que soy muy novato en el desarrollo de módulos, así que perdonad si el siguiente código es un disparate. El tema es que no funciona y a ver si me podéis ayudar:

class CambiarEstado extends Module
{
    public function hookDisplayOrderConfirmation($params)
    {
        $objOrder = $params['order'];
        
        if($orderHistory->id_order_state == 4) {
    	$oOrder->setCurrentState($id_order_state == 16);
    	$oOrder->save();
		}
    }
}

Versión 1.7 de prestashop.

Link to comment
Share on other sites

Lo único es que ese hook se ejecuta al confirmarse un pedido desde frontend. Puedes utilizar en el modulo otro hook como por ejemplo

actionOrderStatusUpdate

Called before the status of an order changes.

Located in: /classes/order/OrderHistory.php

Parameters:

<?php
array(
  'newOrderStatus' => (object) OrderState,
  'id_order' => (int) Order ID
);

 

Link to comment
Share on other sites

Hola!

Los hooks se ejecutan cuando se dan determinadas condiciones. Son como funciones "callback" que responden a eventos. Si lo quieres ejecutar mediante un cron, no necesitas un hook. Y si además solo pretendes tocar la base de datos, ni siquiera necesitas un módulo. Crea tu php y lo llamas mediante linea de comandos.

Espero te ayude.

 

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