Jump to content

Cancellare i messaggi dei clienti dagli ordini


Mikie

Recommended Posts

Poiché mi si era posto il problema di cancellare i messaggi dei clienti e quelli inseriti negli ordini, e non trovando nulla in giro, ho fatto qualche modifica, strano che una cosa così semplice non sia stata implementata prima.

ecco il codice (che ho postato anche nel forum inglese rispondendo a uno che aveva il medesimo problema):

adminXYZ/tabs/AdminOrders.php codice dopo elseif per markAsReaded linea circa 286

elseif (isset($_GET['messageReaded']))
       {
           Message::markAsReaded(intval($_GET['messageReaded']), intval($cookie->id_employee));
       }
//new code for deleting messages
       elseif (isset($_GET['deleteMessage']))
       {
           Message::deleteMessage(intval($_GET['deleteMessage']), intval($cookie->id_employee));
       }
//end new code for deleting messages
parent::postProcess();


adminXYZ/tabs/AdminOrders.php alla riga 800 circa il codice per aggiungere una X per cancellare il messaggio:

echo (intval($message['private']) == 1 ? ''.$this->l('Private:').'' : '');
               //the next line add a nice X icon for deleting message
               echo ' l('Delete message').'" href="'.$_SERVER['REQUEST_URI'].'&deleteMessage;='.intval($message['id_message']).'">';
               echo '
'.nl2br2($message['message']).'';


in classes/Message.php added la funzione per cancellare il messaggio sia nella tabella ps_message che in ps_message_readed se il messaggio è marcato come letto

static public function deleteMessage($id_message)
   {
        if (!Validate::isUnsignedId($id_message))
            die(Tools::displayError());

       $result = Db::getInstance()->Execute('
       DELETE FROM '._DB_PREFIX_.'message WHERE id_message ='.intval($id_message).';
       ');
       $result2 = Db::getInstance()->Execute('
       SELECT * FROM '._DB_PREFIX_.'message_readed WHERE id_message ='.intval($id_message).';
       ');
       if ($result2!=''){//cancella i messaggi letti
           $result3 = Db::getInstance()->Execute('
       DELETE FROM '._DB_PREFIX_.'message_readed WHERE id_message ='.intval($id_message).';
       ');
       }
       return $result;
   }

Link to comment
Share on other sites

  • 7 months later...

Ciao, sto cercando di implementare questa funzione ma ho un errore quando inserisco questa riga di codice in adminXYZ/tabs/AdminOrders.php:

//the next line add a nice X icon for deleting message
echo ' l('Delete message').'" href="'.$_SERVER['REQUEST_URI'].'&deleteMessage;='.intval($message['id_message']).'">delete.gif';

Utilizzo la versione 1.2.5, potresti aiutarmi arisolvere il mio problema?

Link to comment
Share on other sites


adminXYZ/tabs/AdminOrders.php alla riga 800 circa il codice per aggiungere una X per cancellare il messaggio:
echo (intval($message['private']) == 1 ? ''.$this->l('Private:').'' : '');
               //the next line add a nice X icon for deleting message
               echo ' l('Delete message').'" href="'.$_SERVER['REQUEST_URI'].'&deleteMessage;='.intval($message['id_message']).'">';
               echo '
'.nl2br2($message['message']).'';





Quando inserisco il codice qui sopra in adminXYZ/tabs/AdminOrders.php (tra l'altro ho notato che a me non risulta alla riga 800, ma 546 circa) ho nel BO questo errore:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /xxxxxxx/tabs/AdminOrders.php on line 546

Uso la versione 1.2.5 italia di prestashop.
Link to comment
Share on other sites

in effetti temo ci fosse un errore nel pezzetto di codice postato,
l'errore che ti dava era un problema di un qualche ; mal messo (no so per quale motivo ma quando inserisco il codice qui nel post si altera...)

Per rapidità sono andato a riprendere il sorgente direttamente dal sito on line e metto l'estratto di codice in allegato

Per la differenza di posizione in riga dovrebbe dipendere dalla versione, io la modifica l'ho fatta su 1.3.1

add-delete-message.txt

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