Añadir una acción bulk “bulk action” en un controller de Prestashop

En esta entrada vamos a ver como añadir una acción en bulk a un controller, en el ejemplo que vamos a ver va a ser en el controller AdminOrdersController.php

Lo primero que debemos hacer es añadir un fichero en override, debemos crear este fichero con el nombre que queremos cambiar el codigo o añadir algo nuevo como es nuestro caso

/override/controllers/admin/AdminOrdersController.php

Editamos este fichero y añadimos el siguiente codigo

<?php

class AdminOrdersController extends AdminOrdersControllerCore
{
    public function __construct()
    {
        parent::__construct();
    }
}

ya tenemos el codigo principal de nuestro fichero override

ahora debemos añadir nuestra modificacion y la nueva action bulk, se recomienda añadir el bulk ya existente

Cambiaremos la function construct() por esta

public function __construct()
    {
        parent::__construct();

        
        $this->bulk_actions = array(
            'updateOrderStatus' => array('text' => $this->l('Change Order Status'), 'icon' => 'icon-refresh'),
            'nueva_accion' => array('text' => 'Texto de la nueva accion',  'icon' => 'icon-refresh'), 
        );
    }

Una vez se ha añadido la acción “nueva_accion” deberemos añadir la function que llamara cuando seleccionemos esta acción en el controller

protected function processBulknueva_accion(){

//aqui tu codigo 


//fin de codigo personalizado

}

 

Una vez hemos añadido el código necesario, se recomienda cambiar el nombre o eliminar el siguiente fichero

/cache/class_index.php

Accederemos al controller que hemos modificado y veremos que ya tenemos nuestra nueva accion bulk

Deja una respuesta
You May Also Like