Jump to content

Table ps_messages : dupliquer les messages clients


Recommended Posts

Bonsoir,

 

je recherche désespérement depuis plusieurs jours l'endroit (la classe, le contrôleur ou le fichier) sur lequel Prestashop enregistre le message d'un client quand il passe une commande. Je parle du message complémentaire qu'il peut laisser attaché à sa commande si il a besoin de fournir des informations supplémentaires.

 

Il y a une table qui s'appelle "PS_messages" et qui stocke cette information : j'aurais besoin de connaître l'emplacement du code source qui fait la requête d'insertion dans la BDD.

 

Un GRAND GRAND merci d'avance :)

Edited by Antoniolav (see edit history)
Link to comment
Share on other sites

Bonsoir J.Danse,
 
Merci pour ton aide.
Malheureusement ça n'a pas l'air d'être cela : si par exemple je supprime toutes ces lignes-là :

	$msg = new Message();
	$message = strip_tags($message, '<br>');
	
if (Validate::isCleanHtml($message))
{
if (self::DEBUG_MODE)
PrestaShopLogger::addLog('PaymentModule::validateOrder - Message is about to be added', 1, null, 'Cart', (int)$id_cart, true);
$msg->message = $message;
$msg->id_cart = (int)$id_cart;
$msg->id_customer = intval($order->id_customer);
$msg->id_order = intval($order->id);
$msg->private = 1;
$msg->add();
}

.. du fichier en question et que je laisse un blanc à la place, des lignes se créent encore sur la table PS_MESSAGES à chaque fois qu'un client arrive à l'étape 4 (la livraison, order-carrier si je ne me trompe pas) :(
 
Merci quand même pour ta piste mais je recherche encore une solution

Edited by Antoniolav (see edit history)
Link to comment
Share on other sites

Re-bonsoir,

 

j'avais en effet mis mon nez du côté de ces fichiers là, en vain.

En fait j'ai crée une nouvelle colonne dans cette fameuse table Ps_messages dans laquelle, à chaque nouvelle commande, je souhaitais re-inclure en quelque sorte en doublon ce fameux message... mais cela ne me faire guère avancer.

 

Merci quand même pour le temps que tu m'as consacré ;)

Link to comment
Share on other sites

Effectivement ce ne serait pas bon car il faudrait que cette requête SQL ne s’exécute que lors qu'il y aura une nouvelle commande mais pas lors d'un échange SAV par exemple.

 

Un peu dans le même esprit que ton idée, je suis en train de créer un module que je n'appellerais que sur montheme/order-carrier.tpl via {hook h=monmodule variable_a_passer_au_module=$message_du_client} : une fois le message client récupérer dans mon module, je pourrais faire en PHP ma requête SQL d'insertion comme je e souhaite. Je croise les doigts ;)

Link to comment
Share on other sites

A dire vrai, ce ne serait pas un soucis. Pour une raison historique ou que j'ignore, on a deux objets différents selon le type de message: Message ou CustomerMessage. Et, dans le panier, c'est l'objet Message qui est utilisée. Ca peut donc se faire, ceci dit ! ;-)

Link to comment
Share on other sites

Merci pour l'info ;)
 
Ca depasse cependant quelque peu mon niveau technique + ma connaissance en dev prestashop.
J'essayerais de m'y intéresser dans les jours à venir quand j'aurais termine mon petit "chantier" relatif au problème exposé en début de topic.
Pour l'instant, avec mon module maison comme décrit juste au-dessus, je réussi bien à récupérer mon message client jusqu'au module mais j'ai quand même une erreur qui s'affiche... ? :)
 
Sur order-carrier.tpl :

{assign var='variable_test' value='contenudetest'}
{hook h=monhook variable_a_passer=$variable_test}

et sur mon module :

public function hookmonhook ($params) {
		
$boboliligg = $params[variable_a_passer];
global $smarty;
$smarty->assign('boeing',$boboliligg);
return $this->display(__FILE__, 'testantoine.tpl');

}

"contenudetest" arrive donc bien dans le fichier de base .php de mon module car j'arrive à l'afficher sur testantoine.tpl mais j'ai quand même toujours cette erreur qui s'afiche juste avant quand même :
 

Notice: Use of undefined constant variable_a_passer - assumed 'variable_a_passer' in /[iCI CHEMIN VERS LE FICHIER .PHP DE MON MONDULE] on line 42
PS : la lgne 42 -> $boboliligg = $params[variable_a_passer];

 
Bizarre hein ? Je continue de creuser :)
P.S : j'ai modifié le titre de mon topic pour qu'il soit plus explicite à l'avenir, si des gens rencontrent une problématique similaire :)

Edited by Antoniolav (see edit history)
Link to comment
Share on other sites

Suis-je bête ! En effet, la fatigue de la semaine se fait sentir :)

 

Ca fait vraiment plaisir cette aide de la communauté en tout cas, j'essaierais de venir mettre à jour ce topic quand j'aurais fini ce chantier.

Un grand grand merci à toi !

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