Jump to content

SAV Client et message sur commande


dsilvestre

Recommended Posts

Bonjour à tous,

 

Après de multiples recherches sur le forum et sur Google, impossible de trouver une réponse concrète à mon problème.

 

Je m'explique :

 

Avant le passage à la 1.5, tous les messages/commentaire concernant la commande se retrouvait sur la page commande ce qui était très pratique pour le suivi.

 

Mais depuis la 1.5, tous les messages clients se retrouvent dans le SAV qui est très bien fait je l'admet mais qui est moins pratique lorsque l'on est sur une commande et que l'on peut directement voir les messages/commentaire concernant la commande.

 

Est-ce un bug de ma maj ou est-ce normal? De plus, j'ai remarqué que le Paypal affichait toujours des commentaires sur la page commande alors que lorsque j'ajoute un commentaire, celui se retrouve aussi sur le SAV ce qui n'est pas pratique du tout.

 

En espérant que quelqu'un puisse m'éclairer :)

Link to comment
Share on other sites

Et bien, je vais malheureusement vous retirer ce dernier sourire de votre visage par ma réponse: il ne s'agit ni d'un bug ni d'un problème de mise à jour mais bien d'un soucis, très embêtant qui plus est.

 

Suite à la publication de l'équipe PrestaShop de leur volonté de modifier cela (https://github.com/PrestaShop/PrestaShop/issues/77), j'avais entrepris de voir comment modifier le tout. Mais je n'ai pas encore trouvé la - bonne -solution.

 

C'est donc, actuellement, un comportement "logique", par rapport à la version existante. :-/

Link to comment
Share on other sites

je suis exactement dans la même m.... que toi ca soule j'aimer bien ancien version c’était plus pratique on pouvez suivre le client ou commentaire du client

obliger il y a moyen de trouver comment remettre les message des client comme avant

Link to comment
Share on other sites

  • 4 months later...
  • 1 month later...
  • 2 weeks later...

Petit up,

si quelqu'un à une solution ?

 

Salut,

 

Oui, contact Kapsis IT Solution (http://www.prestashop.com/forums/user/371397-kapsis-it-solutions/), il m'a fait des modifs qui permettent d'obtenir cela.

Ca fonctionne parfaitement.

 

Attention, il parle uniquement en anglais, pas en français.

 

Dis lui que tu le contact de ma par "pac6230"

 

Cordialement.

Link to comment
Share on other sites

Bonjour,

je n'arrivai pas à trouver comment contacter Kapsis IT Solution. Du coup , j'ai recherché autrement et j'ai trouvé ça comme solution, et ça fonctionne.

 

Replace the function getMessageByOrderId by this one (on line 91) :

 

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

Bonjour,

 

j'ai essayé de contacter Kapsis IT mais il ne répond pas.

 

je viens de tester ta solution Micke21 mais j'ai un bug du coup

 

Notice: Undefined index: is_new_for_me in C:\wamp\www\xxxxxxxxx\cache\smarty\compile\f9\ac\18\f9ac18761195965ec65ab7a4f47f815f73f8e29d.file.view.tpl.php on line 1270

 

cela se met dans la partie message quelqu'un a une idée ?

 

sinon cela affiche bien le message que j'inscris, pas loin de la délivrance pour pouvoir travailler correctement.

Link to comment
Share on other sites

Petite modification de ce code pour un tri par date.

Voici le fichier Message.php à mettre dans le dossier classes de l'override

<?php
class Message extends MessageCore
{
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.*, c.`firstname` AS cfirstname, c.`lastname` AS clastname, 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 JOIN `'._DB_PREFIX_.'customer` c ON ct.`id_customer` = c.`id_customer`
  LEFT OUTER JOIN `'._DB_PREFIX_.'employee` e ON e.`id_employee` = m.`id_employee`
  WHERE ct.`id_order` = '.(int)$id_order.'
  ORDER BY m.date_add desc
 ');

function tri($a, ${
   $ad = strtotime($a['date_add']);
   $bd = strtotime($b['date_add']);
   return ($bd-$ad);
}

$arr =  array_merge($o,$m);
usort($arr, 'tri');
return $arr;
}
}

Si le fichier override existe déjà, ajouter que la fonction dedans.

Link to comment
Share on other sites

Bonjour dsilvestre,

 

non pas de problème de compilation smarty, j'ai tout désactivé et nettoyer.

 

j'ai même tester l'ovveride de Graphics, même problème. Je pense que c'est lié au fait que je suis en prestashop 1.5.4.1 car sur une 1.5.4 pas de problème....

 

je bloque je ne vois a quoi cela correspond.

Link to comment
Share on other sites

Le code fonctionne bien sur la 1.5.4.1 (en place sur 3 boutiques).

Les différents dossier cache doivent être vidés et supprimer le fichier class_index.php pour la prise en compte de l'override.

Si cela persiste quels sont les paramètres dans define (dossier config) et dans performande (BO)?

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Je confirme aussi que cela marche parfaitement en 1.5.5.0, pour ceux qui cherchaient aussi où est le fichier class_index.php en référence au poste de Grafics, que je remercie au passage, il est dans le dossier cache.

 

Pour ma part, je n'ai mis que le fichier message.php dans l'override, enlever le fichier class_index.php puis vider la cache smarty depuis le back office dans l'onglet performance.

 

Merci à tous les contributeurs! 

Link to comment
Share on other sites

  • 2 weeks later...

Merci :)

 

Pour ce qui me concerne, il me semble que l'override ne soit pas vraiment en cause.

Les données récupérées via la requête SQL semblent bonnes : une reconversion du tableau de sortie via html_entity_decode ne change rien.

Link to comment
Share on other sites

  • 2 months later...

merci pour moi aussi en 1.5.5 c'est ok

sauf que les caractères spéciaux (accents et cie).

qui pose un probleme sinon c'est ok

merci a vous

 

Bonjour, pour moi aussi ça fonctionne, sauf l'encodage des caractères spéciaux. Avez-vous trouvé une solution ?

 

Merci d'avance.

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour,

Alors je viens d'installer en 1.5.6.1. et j'ai cette erreur :

Notice: Undefined index: is_new_for_me in/home/www/mon_site/cache/smarty/compile/d6/66/31/d666311337a7ad6beb4d8a07c053feb9aad5b3e2.file.view.tpl.phpon line 1271

Notice: Undefined index: is_new_for_me in/home/www/mon_site/cache/smarty/compile/d6/66/31/d666311337a7ad6beb4d8a07c053feb9aad5b3e2.file.view.tpl.phpon line 1272

 

Cela sur un ancien message, après effacement du cache et des fichiers concernés.

J'ai essayé d'effacer le message, le résultat est le même !

 

Une idée?

Link to comment
Share on other sites

  • 1 month later...

je vient de refaire une mise a jour en 1.5.6.2 et franchement meme les caractere spéciaux en disparue

alors comment j'ai fait j'ai telecharger le fichier complet a la page 1 pour le mettre sur mon ftp /override/classes/ vous coller dedans normalement il y a pas de fichier a ce nom apres vous aller dans cache/ vous aller trouver un fichier class_index.php effacer le et voila c'est fini très simple vous pouvez voir tout les messages de vos client recu ou envoyé

parfait merci a vous tous

Link to comment
Share on other sites

  • 3 weeks later...

Un grand merci pour votre contribution, fonctionne sans pbl d'encodage en 1.5.6.2

 

Petite question cependant... Nous utilisons la zone commentaire / message privé d'une commande pour inscrire 2/3 infos comme par exemple la commande fournisseur en rapport avec la commande client. De ce fait, il n'est pas nécessaire d'ouvrir un ticket dédié dans Client > Sav dès que nous inscrivons un commentaire.

Avez vous une solution par rapport à ça ?

Un grand merci,

Jean-Nicolas

Link to comment
Share on other sites

C'est normal qu'il se recréé à chaque fois. Il est là pour ça.

Par contre, que cela marche d'un côté mais pas de l'autre, il faut voir pourquoi. Les différences qu'il y a entre les 2 boutiques et surtout serveur et config.

Link to comment
Share on other sites

Les différences qui pourrait impacter sur les systèmes de cache.

Quoiqu'il en soit, il faudrait vérifier en faisant une suppression du cache de smarty, en vidant complètement le cache du navigateur, et en faisant un essai pour voir si cela marche.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

 

Un grand merci à tous pous ces informations bien concrètes, cela fonctionne parfaitement sur notre 1.5.6.2

 

Histoire de pousser la réflexion un peu plus loin... Il y a t il possible que les commentaires interne sur la commande émis en privé par les employés de la boutqiue n'ouvre pas de tickets dans clients > sav ?

D'avance merci si vous avez la solution !

Jean-Nicolas

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour à tous !

 

Je suis en 1.6. J'ai essayé cette solution sur ma boutique. Je n'ai pas de message d'erreur mais cela ne fonctionne pas quand même.

 

A savoir que dans 1.6, il n'y a pas la fonction getMessagesByOrderId et je ne vois pas ce qui la remplace...

 

Je me permets donc de demander s'il y a un gentil développeur qui voudrait bien s'y pencher ou si quelqu'un a déjà fait la manip pour adapter ce code qui a l'air de marcher à la version 1.6...

 

Un énorme merci à vous tous qui oeuvrez pour le forum! :)

Link to comment
Share on other sites

  • 2 months later...

Bonjour,

 

Je viens de faire une maj, enfin deux (1.4.7.3 vers 1.6.0.8 puis 1.6.0.9) et je trouve dingue que ce problème soit toujours présent.

Aucun des messages des clients ou des réponses du site sur le suivie des commandes ne s'affiche.

J'ai installé l'override de ce post http://www.prestashop.com/forums/topic/325585-commentaire-interne-commande-sav/?do=findComment&comment=1647356 et les commentaires des commandes sont réapparus.

 

Etant une installation propre à la base suivi d'une maj par commande sql de l'ancienne boutique je déduis que c'est une bug de prestashop non ?

 

Cordialement,

Link to comment
Share on other sites

  • 4 weeks later...

Oui c'est vrai que c'est très lourd, je suis sur la 1.6 depuis peu (avant j'était sur la 1.4), et sincèrement ne pas avoir la possibilité de mettre un message sur la commande, c'est franchement chiant :s

 

A la limite, leur SAV devrait être une utilisation avancée, c'est à dire que le fonctionnement standard devrait être comme avant, et pour ceux qui souhaite activer le SAV qu'il le fasse....

 

Je me demande si je ne ferai pas un module pour résoudre ce problème car apparemment c'est parti pour rester comme ça...

Link to comment
Share on other sites

  • 5 months later...
  • 8 months later...

Hey !!

 

C'est le moment d'intervenir pour de vrai la Team Presta !!

 

On y croit plus vraiment mais une bonne surprise ça ferait toujours plaisir...

Link to comment
Share on other sites

Bonjour à tous,

 

Je ne trouve pas de solution à un problème : https://www.prestashop.com/forums/topic/413809-module-mailalert-retours-%C3%A0-la-ligne-dans-le-message-laiss%C3%A9-par-le-client/?do=findComment&comment=1969373

 

Si quelqu'un peut y jeter un oeil...

 

Merci d'avance

Bonjour

 

Je sais c'est presque un an après, mais j'avais pas fais gaffe à ce message.

En survolant votre problème je ne pense pas que ce soit le même problème que ce topic de 2013.

Vous n'aurez pas plus de réponses en mettent un lien dans un topic encore bien plus ancien que le votre.

Link to comment
Share on other sites

Hey !!

 

C'est le moment d'intervenir pour de vrai la Team Presta !!

 

On y croit plus vraiment mais une bonne surprise ça ferait toujours plaisir...

 

 

Problème toujours présent, près de 2 ans après son évocation.

Aucune intervention de l'équipe Prestashop bien entendu ...

 

Vu que maintenant nous avons un Community Manager remontez lui le problème pour qu'il en fasse part à la team.

Link to comment
Share on other sites

A chaque fois que nous obtenons une réponse sur un bug c'est la même chose.

"ce sera rectifié dans la prochaine version"

 

Seulement ceux qui ont pratiqué PS savent les changements qui sont opérés, ne serait-ce qu'entre 2 versions mineures et donc les incompatibilités de thèmes et de modules qui en découlent.

Et nous n'avons pas envie d'essuyer les plâtres comme à chaque sortie d'une version majeure, ce qui veut dire que passer en 1.7.x ... ce n'est pas avant plusieurs années.

 

Sylvain n'y est pour rien. Il vient de débarquer à ce poste et n'a surement pas encore conscience de tous ces aspects.

J'attire simplement son attention sur le fait que ce que la majorité de la communauté attend, c'est un correctif applicable sur les versions actuelles.

  • Like 1
Link to comment
Share on other sites

C'est clair qu'avant de pouvoir utiliser la 1.7 en production convenablement, la 1.8 sera déjà dans les tuyaux !!

 

Sérieusement il faut s'occuper de ce bug et des autres sur la 1.6 pour de bon et non repousser pour parler encore d'une future version non utilisable en production avant très longtemps.

 

Merci Sylvain d'essayer de comprendre les commerçants et artisans de la solution Prestashop, on attend ton retour positif très prochainement !

 

PS: on a préparé un nerf de boeuf gravé avec tes initiales persos, comme ça tu vas pouvoir faire avancer les devs dans le bon sens et convaincre  les gens  du marketing de se calmer un peu !

Link to comment
Share on other sites

Des nouvelles :

 

J'ai bien remonté à l'équipe produit votre demande pour que cette option fasse son retour dans la 1.7. C'est en cours en discussion dans l'équipe, effectivement, cela avait un petit côté pratique.

 

Par contre, d'un point de vue technique, un patch pour la faire revenir dans la 1.6 et la 1.5 c'est utopique.

Link to comment
Share on other sites

  • 6 months later...
  • 3 weeks later...
  • 1 year later...

Hop,

Merci, l'override fonctionne bien pour afficher les échanges de message avec les clients directement sur la fiche du commande.

Autre défaut constaté : lorsqu'un employé envoi un message depuis la fiche commande, le client reçoit un mail qui ne contient pas la mention "veuillez ne pas répondre directement à ce message mais répondre en cliquant sur ce lien".

Pour ajouter cette fonctionnalité : 

 

1) Insérer dans order_merchant_order.html (mails/fr)

<tr>
	<td class="linkbelow" style="padding:7px 0">
		<span>
			Veuillez ne pas répondre directement à ce message, nous ne recevrons pas votre réponse.			<br>
			Pour répondre, veuillez utiliser le lien suivant : <a href="{link}" style="color:#337ff1">{link}</a>		</span>
	</td>
</tr>

2) Modif dans controllers/admin/AdminordersControllers.php

Ligne 637

'{link}' => Tools::url(
                            $this->context->link->getPageLink('contact', true, null, null, false, $customer_thread->id_shop),
                            'id_customer_thread='.(int)$customer_thread->id.'&token='.$customer_thread->token
                        ),

 

Si quelqu'un a la motivation de le faire en version "override" sans avoir à remettre toute la fonction/méthode je suis preneur :-)

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