Bonjour,
Vous pourriez utiliser les options min/max volume des méthodes de livraison:
- pour les produits frais mettez des dimensions à 1
- pour les autres produits, mettez des dimensions à 0
- Ensuite, créez les méthodes de livraison:
* geocoding avec un rayon max de 20km
* geocoding avec un rayon min de 20km et un volume max de 0.5
Ainsi, si le client est dans un rayon de 20km, il verra la première méthode de livraison, mais si le client est plus loin, alors il ne verra la seconde méthode de livraison que s'il n'y a aucun produit frais dans le panier. Si le client est plus loin avec des produits frais, alors aucune méthode de livraison ne sera disponible et il verra un message d'erreur que vous pourrez personnaliser avec un override de traduction.
Une autre solution serait d'activer l'option "shipping price per product" de vos méthodes de livraison et d'utiliser la case à cocher "block" dans la section "shipping prices" de chaque produit pour bloquer les méthodes de livraison lorsque le produit est dans le panier , ce qui évite d'avoir à utiliser les dimensions et le min/max volume.