Jump to content

[PrestaShop >= 1.7.7.7] Icona in tabella ordini backoffice


GianPAV

Recommended Posts

Ciao a tutti,
sto avendo difficoltà su un'implementazione richiesta da un cliente.

Praticamente devo aggiungere una semplice icona/pulsante in due posizioni lato backoffice.

Una interna al dettaglio del singolo ordine, e ho risolto usando l'hook "hookActionGetAdminOrderButtons".

Ora devo fare la stessa cosa, sempre lato backoffice, nella tabella di tutti gli ordini per ogni riga ordine.

Mi interessa stampare una semplice icona, stile quelle delle actions, che diventa rossa o verde in base se un files PDF è presente o meno con il nome del riferimento dell'ordine in una cartella fissa (controllo che già faccio nel dettaglio ordine).

Ora il problema è che dalla versione 1.7.7.7 attualmente utilizzata dal cliente l'hook che potevo utilizzare risulta deprecato e al tempo stesso non posso più fare l'override del controller "AdminOrdersController.php" suggerito un po' ovunque online.

Ho letto in giro che ora la tabella viene generata tramite una query e l'utilizzo di javascript (se non ho capito male) ed il tutto è presente della cartella Bundle di PrestaShop.

Volevo capire se dalla versione 1.7.7.7 di PrestaShop e future fosse possibile fare ciò che mi serve in maniera semplice, senza stravolgere il funzionamento del Core. Di per se si tratta per me solo di stampare un'icona/pulsante senza url per ogni riga di ordine che cambia colore (rosso/verde), la posizione è indifferente (che sia con le actions, una colonna in più, etc), l'importante che sia visibile da subito sulla riga di ogni ordine.

Grazie,
Gian 

 

Link to comment
Share on other sites

7 hours ago, GianPAV said:

Ciao a tutti,
sto avendo difficoltà su un'implementazione richiesta da un cliente.

Praticamente devo aggiungere una semplice icona/pulsante in due posizioni lato backoffice.

Una interna al dettaglio del singolo ordine, e ho risolto usando l'hook "hookActionGetAdminOrderButtons".

Ora devo fare la stessa cosa, sempre lato backoffice, nella tabella di tutti gli ordini per ogni riga ordine.

Mi interessa stampare una semplice icona, stile quelle delle actions, che diventa rossa o verde in base se un files PDF è presente o meno con il nome del riferimento dell'ordine in una cartella fissa (controllo che già faccio nel dettaglio ordine).

Ora il problema è che dalla versione 1.7.7.7 attualmente utilizzata dal cliente l'hook che potevo utilizzare risulta deprecato e al tempo stesso non posso più fare l'override del controller "AdminOrdersController.php" suggerito un po' ovunque online.

Ho letto in giro che ora la tabella viene generata tramite una query e l'utilizzo di javascript (se non ho capito male) ed il tutto è presente della cartella Bundle di PrestaShop.

Volevo capire se dalla versione 1.7.7.7 di PrestaShop e future fosse possibile fare ciò che mi serve in maniera semplice, senza stravolgere il funzionamento del Core. Di per se si tratta per me solo di stampare un'icona/pulsante senza url per ogni riga di ordine che cambia colore (rosso/verde), la posizione è indifferente (che sia con le actions, una colonna in più, etc), l'importante che sia visibile da subito sulla riga di ogni ordine.

Grazie,
Gian 

 

CIAO,
usa il seguente hook per aggiungere il tuo pulsante nell'elenco degli ordini.
hookActionOrderGridDefinitionModifier

Link to comment
Share on other sites

Ciao Shabab,

ti ringrazio, con il tuo suggerimento sono arrivato ad utilizzare l'hook "hookActionOrderGridDefinitionModifier".

Una volta lì ho creato un nuovo tipo di oggetto da utilizzare nelle colonne (html) -> HtmlTypeColumn e fino a qua tutto ok.

Ora ho la colonna richiesta, con il pulsante e tutto, l'unico problema dentro l'hook utilizzato non mi recupera il reference degli ordini, che è l'ultimo elemento mancante per completare.

Di base cosa faccio per il recupero:

$order = new Order(XXXXXX);
$reference = $order->reference;

Dove al posto di XXXXXX ovviamente ho bisogno dell'ID, se lo metto manualmente il tutto funziona (ma ovviamente poi mi stampa come risultato sempre la stessa cosa), ma non riesco a recuperarlo automaticamente.

L'unico parametro che ho e che si può avere per gli hook è $params, ma non riesco a capire cosa contiene in quell'hook.

Ho provato con $params['id_order'], $params['orderId'] etc, ma non riesco a recuperare l'ID.

 

Link to comment
Share on other sites

Hi Shabab,

I've done an echo of $params encoded [echo json_encode($params);]

The parameter looks like empty..

{"_ps_version":"1.7.7.7","request":{"attributes":{},"request":{},"query":{},"server":{},"files":{},"cookies":{},"headers":{}},"route":"admin_orders_index","definition":{},"cookie":{},"cart":null,"altern":1}

This is much strange 🤨

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