Mikie Posted October 15, 2010 Share Posted October 15, 2010 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 More sharing options...
zklid Posted May 26, 2011 Share Posted May 26, 2011 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']).'">';Utilizzo la versione 1.2.5, potresti aiutarmi arisolvere il mio problema? Link to comment Share on other sites More sharing options...
Mikie Posted May 26, 2011 Author Share Posted May 26, 2011 Ciao,esattamente che errore ti restituisce?che versione stai utilizzando di prestashop? Link to comment Share on other sites More sharing options...
zklid Posted May 27, 2011 Share Posted May 27, 2011 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 546Uso la versione 1.2.5 italia di prestashop. Link to comment Share on other sites More sharing options...
Mikie Posted May 27, 2011 Author Share Posted May 27, 2011 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 allegatoPer 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 More sharing options...
zklid Posted May 27, 2011 Share Posted May 27, 2011 Ti ringrazio, ora funziona Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now