Bonsoir,
Il est possible d'utiliser un code dans ce genre ci :
$cartClass = hikashop_get('class.cart');
$cart = $cartClass->loadFullCart(true);
$mainVendorId = 0;
$displayPayment = true;
foreach($cart->products as $product) {
if(empty($product->product_vendor_id))
continue;
if(empty($mainVendorId)) {
$mainVendorId = $product->product_vendor_id;
}
if($mainVendorId != $product->product_vendor_id) {
$app = JFactory::getApplication();
$app->enqueueMessage(JText::_('PRODUCTS_FROM_DIFFERENT_VENDORS'));
$app->setUserState( HIKASHOP_COMPONENT.'.payment_method','');
$app->setUserState( HIKASHOP_COMPONENT.'.payment_id',0);
$app->setUserState( HIKASHOP_COMPONENT.'.payment_data','');
$displayPayment = false;
break;
}
}
if($displayPayment) {
/* ... */
}
Dans la vue "checkout | payment" il permet pas exemple de ne pas sélectionner de méthode de paiement lorsqu'il y a des produits de différents vendeurs.
Ainsi un message apparaitra, les méthodes de paiement ne seront pas sélectionnables et la méthode de paiement, si déjà présente en session, sera supprimée afin d'éviter tout soucis de bord.
Au niveau de la multiplication des options de paiement, nous sommes en train de travailler là dessus (afin d'avoir un système assez flexible sans pour autant que cela soit trop complexe à gérer).
Il vous est possible de dupliquer les plugins de paiement et d'y ajouter une vérification en dur dans le plugin afin de regarder le contenu du cart et voir quel est le vendeur principal.
Avec une telle méthode, la modification du "checkout | payment" ne serait pas nécessaire car les plugins de paiement eux même iraient se désactiver s'il y a plusieurs vendeurs différents dans le panier.
Cordialement,