Jump to content

Les messages sur une commande PS 1.5.3


Recommended Posts

Bonjour a tous,

 

Je rencontre la problématique suivante :

Sur une commande on peut ecrire des messages que l'on peut soit divulger au client ou non

Lorsque je suis sur une commande, j'ecrit mon message.

Il appararait bien bien sur la fiche client et sur l'inglet SAV mais pas sur la commande en elle meme

 

Je souhaiterai si possible afficher les messages sur la commande.

 

post-444646-0-46905700-1379488396_thumb.png

 

Est-ce possible ?

 

Merci d'avance pour vos reponse

  • Like 1
Link to comment
Share on other sites

  • 2 months later...
  • 4 months later...
  • 2 months later...

Bonjour,

 

C'est bien le fonctionnement "normal" de cette version 1.5

 

Les messages ne sont affiché sur la commande mais enregistré dans le SAV sous forme de fil de discussion.

 

Il faut réaliser un petit développement qu'on peut retrouver dans les versions 1.4 de Prestashop, pour afficher les messages concernant la commande.

Link to comment
Share on other sites

dans le fichier message.php présent dans classe changer la fonction getMessagesByOrderId ligne 91 par

public static function getMessagesByOrderId($id_order, $private = false, Context $context = null)
{
   if (!Validate::isBool($private))
    die(Tools::displayError());
  if (!$context)
   $context = Context::getContext();
  $m = Db::getInstance()->executeS('
   SELECT m.*, c.`firstname` AS cfirstname, c.`lastname` AS clastname, e.`firstname` AS efirstname, e.`lastname` AS elastname,
   (COUNT(mr.id_message) = 0 AND m.id_customer != 0) AS is_new_for_me
   FROM `'._DB_PREFIX_.'message` m
   LEFT JOIN `'._DB_PREFIX_.'customer` c ON m.`id_customer` = c.`id_customer`
   LEFT JOIN `'._DB_PREFIX_.'message_readed` mr
    ON mr.`id_message` = m.`id_message`
    AND mr.`id_employee` = '.(isset($context->employee) ? (int)$context->employee->id : '\'\'').'
   LEFT OUTER JOIN `'._DB_PREFIX_.'employee` e ON e.`id_employee` = m.`id_employee`
   WHERE m.`id_order` = '.(int)$id_order.'
   '.(!$private ? ' AND m.`private` = 0' : '').'
   GROUP BY m.id_message
   ORDER BY m.date_add DESC
  ');

  $o = Db::getInstance()->executeS('
   SELECT ct.*, m.*, e.`firstname` AS efirstname, e.`lastname` AS elastname
   FROM `'._DB_PREFIX_.'customer_thread` ct
   LEFT JOIN `'._DB_PREFIX_.'customer_message` m ON m.`id_customer_thread` = ct.`id_customer_thread`
   LEFT OUTER JOIN `'._DB_PREFIX_.'employee` e ON e.`id_employee` = m.`id_employee`
   WHERE ct.`id_order` = '.(int)$id_order.'
   ORDER BY ct.`date_add` DESC'
  );

  return array_merge($o,$m);

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