Email de recapitulatif de commande multi vendeur

  • Posts: 6
  • Thank you received: 1
8 years 6 months ago #240339

Bonjour,

Je développe actuellement des fonctionnalités pour le site Solishop.fr, et je rencontre un problème au niveau du mail de notification de création de commande.
En effet, pour les besoins du site ( qui est multi-vendeurs), le récapitulatif de la commande doit se faire par vendeur, et non d'un seul coup ( pour les paiements par virement ou par chèques à chaque vendeurs).
Je n'ai pas eu de difficulté à réaliser cela en mode "Text", mais j'ai beaucoup plus de mal avec le mode "HTML".

Je pense que je dois intervenir à cet endroit, mais je ne comprend pas d'ou vient la boucle, si il y a un post traitement sur ce code?

<!--{START:PRODUCT_LINE}-->
	<tr>
		<td style="border-bottom:1px solid #ddd;padding-bottom:3px;">
			{LINEVAR:PRODUCT_IMG}
			{LINEVAR:PRODUCT_NAME}<!--{IF:ORDER_PRODUCT_CODE}--> {LINEVAR:PRODUCT_CODE}<!--{ENDIF:ORDER_PRODUCT_CODE}-->
			{LINEVAR:PRODUCT_DOWNLOAD}
		</td>
		<td style="border-bottom:1px solid #ddd;padding-bottom:3px;text-align:right">{LINEVAR:PRODUCT_PRICE}</td>
		<td style="border-bottom:1px solid #ddd;padding-bottom:3px;text-align:right">{LINEVAR:PRODUCT_QUANTITY}</td>
		<td style="border-bottom:1px solid #ddd;padding-bottom:3px;text-align:right">{LINEVAR:PRODUCT_TOTAL}</td>
	</tr>
<!--{END:PRODUCT_LINE}-->

Est ce la bonne façon de m'y prendre ( je ne vois pas du tout comment faire)? Ou est ce que je dois modifier plus de choses et refaire toutes les boucles de produits par vendeurs moi même?

Merci d'avance pour votre réponse.

Cordialement

Pierre Gaultier

Please Log in or Create an account to join the conversation.

  • Posts: 26159
  • Thank you received: 4028
  • MODERATOR
8 years 6 months ago #240343

Bonjour,

Nous avons déjà eu cette demande au niveau d'HikaMarket mais à l'époque il ne m'était pas possible d'ajouter cette fonctionnalité.
Par contre, j'avais ajouté dans les emails HikaShop du contenu afin de pouvoir permettre, plus tard, la séparation des produits par vendeur ; et j'ai donc ajouté le code suivant :

<!--{START:VENDOR_LINE}-->
<!--{IF:VENDOR_CONTENT}-->{VAR:VENDOR_CONTENT}<!--{ENDIF:VENDOR_CONTENT}-->

L'idée étant de permettre à un plugin de modifier le contenu de l'email avant qu'HikaShop ne s'occupe de faire le remplacement des tags.

Les balises
<!--{START:PRODUCT_LINE}-->
<!--{END:PRODUCT_LINE}-->
permettent de dupliquer du contenu en fonction de variables définies dans la partie "preload" de l'email.
Et dans les cas des emails de notification, il y a une variable "PRODUCT_LINE" qui est un tableau contenant les produits de la commande.
Entre les deux balises START et END ; il est possible d'utiliser la balise LINEVAR qui va récupérer un élément lié à notre boucle.

Mais le système d'email actuel dans HikaShop ne permet pas de faire une boucle à l'intérieur d'une boucle.
C'est pourquoi il faut passer via un plugin et utiliser le trigger "onHkProcessMailTemplate" afin de modifier le contenu de l'email et ainsi permettre l'affichage des différents produits par vendeurs.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.
The following user(s) said Thank You: PierreGHTS

Please Log in or Create an account to join the conversation.

  • Posts: 6
  • Thank you received: 1
8 years 5 months ago #242564

Bonjour,


Développer un plugin pour ça me parait bien compliqué.
J'ai finalement réussi à faire ce que je voulait, je le met ici pour information.

-Tri du panier par vendeurs, en travaillant sur une copie de $data->cart->product dans le preload
-Création de sous totaux par vendeurs, en générant du code html via des strings dans le preload, et en les incluant dans le html

J'ai pour cela du faire pas mal d'appels direcst à la base de données via des PDO PHP.

Merci quand même pour votre aide

Cordialement

Pierre Gaultier

Last edit: 8 years 5 months ago by PierreGHTS. Reason: misswritting
The following user(s) said Thank You: Jerome

Please Log in or Create an account to join the conversation.

Time to create page: 0.051 seconds
Powered by Kunena Forum