Assurance complémentaire
-
Bonjour,
Je n’arrive pas Ă trouver l’option afin de permettre une assurance optionnelle lors de la commande du client, pouvez-vous m’indiquer l’emplacement de cette option svp.
Merci d’avance.
-
Bonjour,
Dans la metabox colissimo de la commande.
Il faut d’abord indiquer “avec signature” puis mettre Ă jour ;
puis indiquer “oui” ) compensation+ puis mettre Ă jour ;
puis renseigner le montant (par tranche de 150€) puis mettre à jour.Bonjour,
N’est-il pas possible d’ajouter un tarif dans les mĂ©thodes d’expedition afin de laisser le choix Ă l’internaute de souscrire Ă une assurance complĂ©mentaire?
Bonne journée et merci.
Bonjour,
La shipping method CDI ne gère pas de données spécifiques aux transporteurs ni à la relation entre chargeur et transporteur.
Si vous voulez mettre en place une telle fonction, vous pouvez utiliser le filtre ‘cdi_filterarray_orderlist_before_metabox’ par lequel vous pouvez forcer une valeur d’assurance (_cdi_meta_amountcompensation) Ă la crĂ©ation de la metabox CDI. Vous pourrez ainsi y mettre soit une valeur en rĂ©fĂ©rence au shipping choisi par le client. Si vous optez pour une valeur modifiable par le client, il vous faut ajouter une donnĂ©e privĂ©e dans la page checkout de WC pour la rĂ©cupĂ©rer ensuite dans ce filtre.Du coup, est ce qu’il y a une règle Ă appliquer Ă “Domicile avec signature” pour que les frais soient de 90 centimes par tranche de 150€ automatiquement vue que l’on peut dĂ©finir le choix d’une compensation par dĂ©faut ?
A quoi correspond du coup le Montant par défaut du montant total de la compensation additionnelle ?
Est ce que le montant dans la metabox colissimo peut être automatiquement complétée avec ces tranches de 150€?
La formule Ă mettre dans la zone “variable” de votre ligne tarif est :
<?php $level = error_reporting(0); define(fare, fare); error_reporting($level); $price=$woocommerce->cart->subtotal; $assurance=ceil($price/150)*0.90; $return = $assurance; ?>
.Comme son nom l’indique, le montant par dĂ©faut du montant total de la compensation additionnelle est une valeur fixe par dĂ©faut Ă appliquer.
Pour remplir automatique la metabox colissimo, il vous faut utiliser le filtre indiqué ci-dessus dans ce post et faire un peu de coding. Le mettre dans functions.php de votre theme ou dans votre plugin de personnalisation.
Vous n’auriez pas le code justement permettant d’insĂ©rer directement le prix de vente dans cette box ?
function auto_amountcompensation($args){ $args['_cdi_meta_amountcompensation'] = ??? return $args; } add_action('cdi_filterarray_orderlist_before_metabox','auto_amountcompensation');
Non désolé, je n’ai pas travaillé sur ce point.
Mais je ne doute pas qu’un membre du forum ayant déjà mis en place une telle solution va vous apporter une réponse.Je ne sais pas ce qui se passe mais le formulaire de recherche du forum ne semble pas bien fonctionner car je ne retrouve aucune information concernant mon besoin. Aucune information sur les assurances complémentaires et surtout comment définir un _cdi_meta_amountcompensation par défaut équivalent au panier ?
Le code que j’ai rĂ©alisĂ© fonctionne bien mais comment rĂ©cupĂ©rer le prix total de mes produits au sein de ma fonction :
function auto_amountcompensation($args){ $args['_cdi_meta_amountcompensation'] = ??? return $args; } add_action('cdi_filterarray_orderlist_before_metabox','auto_amountcompensation');
dans $args je n’ai que :
Array ( [_cdi_meta_departure] => 75004 PARIS [_cdi_meta_typeparcel] => colis-standard [_cdi_meta_parcelweight] => 250 [_cdi_meta_signature] => yes [_cdi_meta_additionalcompensation] => yes [_cdi_meta_amountcompensation] => 150 [_cdi_meta_typereturn] => no-return [_cdi_meta_nbdayparcelreturn] => [_cdi_meta_productCode] => [_cdi_meta_pickupLocationId] => )
Je pense avoir la solution :
function auto_amountcompensation($args){ global $woocommerce, $post; $order = new WC_Order($post->ID); $cart_value = (float) $order->get_total() - $order->get_total_shipping() - $order->get_shipping_tax(); $price = ceil($cart_value/150)*150; $args['_cdi_meta_amountcompensation'] = $price; return $args; } add_action('cdi_filterarray_orderlist_before_metabox','auto_amountcompensation');
Merci.
Oui, vous ne devez pas en ĂŞtre loin.
Mais conditionnez sur le nom de la shipping method, sinon ca va s’appliquer dans tous les cas.Essayez celui-la :
add_filter( 'cdi_filterarray_orderlist_before_metabox','example_cdi_filterarray_orderlist_before_metabox_2', 10, 3) ; function example_cdi_filterarray_orderlist_before_metabox_2 ($arrayinitmetabox, $order, $valueshippingmethod) { global $woocommerce; $shipping_method = @array_shift($order->get_shipping_methods()); $shipping_method_title = $shipping_method['method_title']; if ($shipping_method_title == 'Colissimo France avec assurance') { $price = $order->get_subtotal(); $montantassurance = ceil($price/150)*150; if ($montantassurance > 1500){ $montantassurance = 1500; } $arrayinitmetabox['_cdi_meta_signature'] = 'yes' ; $arrayinitmetabox['_cdi_meta_additionalcompensation'] = 'yes' ; $arrayinitmetabox['_cdi_meta_amountcompensation'] = $montantassurance ; } return $arrayinitmetabox; }
- The topic ‘Assurance complĂ©mentaire’ is closed to new replies.