Jump to content

Ajout d'un bouton dans une nouvelle colonne sur la page liste des commandes


kbjl

Recommended Posts

Bonjour,

Je suis en train de faire une surcharge sur la page liste des commandes pour ajouter des pictos qui permettront de changer rapidement le statut d'une commande.

J'arrive bien à afficher mes nouveaux pictos dans la page liste des commandes. Par contre je rencontre un problème lorsque je clique sur mes pictos, je n'arrive pas à rentrer dans ma fonction qui modifie l'état de la commande.

Ci-dessous voici mon override du fichier AdminOrdersController.

Lorsque je vais sur mon picto en face d'une commande j'ai bien une url qui me semble correcte qui s'affiche (http://localhost/admin/index.php?controller=AdminOrders&action=changeStatut&id_order=4195&token=91bdd96d35106c822292fd90f1395775) mais le contenu de la fonction changeStatut n'est jamais appelé.

 

J'ai essayé diverses formulations, mais je n'arrive pas à rentrer dans ma fonction.

 

Si quelqu'un à des idées je prends.

 

public function __construct()
  {
    parent::__construct(); // On appelle le constructeur du parent (le controleur natif)


    // On definit la nouvelle colonne avec les icones des états de commande
    $state_column = array(
      'title' => $this->trans('Statut rapide', array(), 'Admin.Global'),
      'align' => 'text-center',
      'callback' => 'printStateIcon',
      'orderby' => true,
      'search' => false,
    );

    // On l'integre a la liste (ici en 8eme position)
    $part1 = array_slice($this->fields_list, 0, 8);
    $part2 = array_slice($this->fields_list, 8);
    $part1['id_stateorder'] = $state_column;
    $this->fields_list = array_merge($part1, $part2);

  }

// Recuperation des pictos des commandes
  public function printStateIcon($id_order, $tr)
  {

    $link = $this->context->link->getAdminLink('AdminOrders', true, array('id_order' => $id_order, 'id_state' => 47),
      array('action' => 'changeStatut'));


    return ' <a href="' . $link . '"> <img src="../img/order_state/expedier.png" width="25" class="imgm img-thumbnail" /></a>';

  }

  public function changeStatut($id_order)
  {
    die($id_order);

  }

Merci par avance

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