Agregar nueva opción en 'Acciones Agrupadas' de Prestashop

Agregar nueva opción en 'Acciones Agrupadas' de Prestashop

Agregar nueva opción en 'Acciones Agrupadas' de Prestashop. En PrestaShop cuando se crea un AdminController se crea una tabla con todos los registros, y sus respectivos filtros. Si desea obtener otras opciones se puede programar una opción en el menú dropdown.

Índice
  1. Agregar nueva opción en 'Acciones Agrupadas' de Prestashop
    1. Primer paso: Crear controlador
    2. Segundo paso.- Identificar el constructor
    3. Tercer paso: Añadir la función
  2. Resumiendo, con otro ejemplo
  3. Conclusiones y recomendaciones

Agregar nueva opción en 'Acciones Agrupadas' de Prestashop

Si observamos un CRUD de productos o en algún modulo que estemos desarrollando en PrestaShop observaremos que posee opciones en una lista desplegable que hace referencia a la tabla y está por debajo de la tabla, en 'Acciones agrupadas' vienen algunas acciones que aplica a todo lo seleccionado y/o filtrado.

  Eliminar una tabla en Prestashop

Primer paso: Crear controlador

Podemos trabajarlo desde las opciones de PrestaShop o programarlo desde un módulo personalizado, en este ejemplo veremos de como estructurar y/o implementar en el controlador.

¿Es posible añadir una nueva acción a este dropdown>?

La respuesta es un sí, solo tenemos que agregar un bulk_actions  dentro de nuestro constructor

Editamos este fichero que contendrá nuestro controlador.

<?php

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

Segundo paso.- Identificar el constructor

Una vez identificado el constructor  debemos añadir nuestra modificación y la nueva action bulk, se recomienda añadir el bulk ya existente

  Obtener la ID de la categoría actual en Prestashop

Cambiaremos la función 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'),
   );
}

Tercer paso: Añadir la función

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

protected function processBulknueva_accion(){

//aqui tu codigo

//fin de codigo personalizado

}

Resumiendo, con otro ejemplo

Dentro del controlador, en el constructor. Basta con añadir:

$this->bulk_actions = array(
   'report' => array(
   'text' => $this->l('Descargar informe')
)
);

Donde report es el nombre que recibirá la función enlazada.

  Eliminar Botón Agregar Nuevo Prestashop

Y creamos el siguiente método, que se ejecutara al hacer click en la nueva acción:

protected function processBulkReport()
{
// Con $this->boxes recogemos todo el array de elementos seleccionados.
}

Accederemos al controller que hemos modificado y veremos que ya tenemos nuestra nueva acción bulk

Conclusiones y recomendaciones

En este articulo hemos implementado opciones a la lista desplegable. Además, hemos creado una función para que esté vinculado a esa opción.

Por lo tanto, es esa función podemos darle las características necesarias para que la opción funcione según nuestras necesidades.

Datatables Dropdown PDO, ServerSide, Responsiva

ServerSide
Responsiva adaptable
Opciones de exportación Dropdown
Mensajes usando SweetAlert2
Acciones (Editar, Agregar, Ver, Eliminar)

Si quieres conocer otros artículos parecidos a Agregar nueva opción en 'Acciones Agrupadas' de Prestashop puedes visitar la categoría Prestashop.

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio web protege su privacidad al adherirse al Reglamento General de Protección de Datos de la Unión Europea (GDPR). No utilizaremos sus datos para ningún propósito que no haya dado su consentimiento. Obtenga más información en nuestra página política de privacidad