Envoyer une copie d'une commande

  • Posts: 102
  • Thank you received: 16
  • Hikashop Business
5 days 15 hours ago #371499

-- url of the page with the problem -- : fleuro1.sofleurs.fr/
-- HikaShop version -- : 6.4.0
-- Joomla version -- : 5.4.4

Bonjour,
J'utilise l'extension MIGHTYSITES en plus d'HikaMarket pour le site d'un client qui souhaitait offrir à certains de ses revendeurs un site dédié avec la même boutique.
Il me reste un dernier obstacle, il faut que les commandes passées sur un sous-site soit également envoyées au revendeur attribué au sous-site en plus du vendeur principal.
Je ne peux pas simplement ajouté une adresse mail en copie dans les gabarits des mails car c'est les mêmes gabarits dans le site maître et les sous-site.
Comme les utilisateurs des sous-sites sont enregistrés dans des groupes dédiés, j'avais idée d'ajouter un champ caché qui contiendrait l'adresse mail du revendeur, mais je ne sais pas comment m'y prendre ou s'il y a une meilleure solution.
Merci d'avance pour l'aide ;)

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

  • Posts: 85463
  • Thank you received: 13978
  • MODERATOR
5 days 4 hours ago #371500

Bonjour,

Votre approche avec un champ personnalisé caché est une piste, mais il y a une solution plus élégante et plus robuste qui s'intègre naturellement à HikaMarket : développer un petit plugin HikaMarket qui écoute l'événement onBeforeProductsVendorAttribution

Principe :
Cet événement se déclenche lors du traitement de la commande, juste avant que HikaMarket ne sépare les produits par vendeur. Il vous permet de modifier dynamiquement le vendeur assigné à chaque produit de la commande. Vous pouvez donc, dans votre plugin :

1. Détecter sur quel sous-site la commande a été passée (via l'URL du site avec

$_SERVER['HTTP_HOST']
, ou via un paramètre de configuration MIGHTYSITES)
2. Identifier le revendeur associé à ce sous-site (depuis une table de correspondance, un paramètre, ou un groupe d'utilisateurs)
3. Réassigner le(s) produit(s) de la commande à ce revendeur en modifiant
$product['vendor']

Exemple de structure :
public function onBeforeProductsVendorAttribution(&$products, &$productObjects, &$order) {
    $host = $_SERVER['HTTP_HOST'];
    $reseller_id = $this->getResellerIdForHost($host);
    if(empty($reseller_id))
        return;
    
    foreach($products as $key => &$product) {
        $product['vendor'] = $reseller_id;
    }
}

Avantages par rapport à la solution avec champ personnalisé :
- Le revendeur devient le vrai vendeur de la commande aux yeux de HikaMarket et il recevra automatiquement les emails de notification vendeur (aucune modification de gabarit nécessaire)
- Le revendeur verra la commande dans son espace vendeur en frontend
- La commission/paiement vendeur sera automatiquement calculée pour lui
- Vous avez une traçabilité complète dans HikaMarket

La documentation de l'événement se trouve ici : www.hikashop.com/support/documentation/1...ctsVendorAttribution

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

  • Posts: 102
  • Thank you received: 16
  • Hikashop Business
4 days 11 hours ago #371518

Merci Nicolas,
Je vais essayer de construire ce plugin ;)
Salutations
Mihàly

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

Time to create page: 0.061 seconds
Powered by Kunena Forum