Bonjour,
Créer un champ personnalisé de la table "product" pour renseigner le montant de caution est en effet une bonne idée.
Dans votre champ, dans la section "field data", vous avez une colonne "value" et une colonne "title".
"value" est ce qui est enregistré dans la base de données et qui est manipulable, donc dans value vous pouvez mettre juste les montants: 70, 140, 210, etc. Et dans "title", c'est ce qui est affiché sur la partie publique, donc vous pouvez mettre le texte complet: "Votre caution sera de 70€", "Votre caution sera de 140€", "Votre caution sera de 210€", etc.
Ainsi, vous aurez l'affichage sur la page du produit de fait juste avec le champ.
Pour ce qui est du passage en caisse, ce que vous pouvez faire, c'est un override de show_block_cart via le menu Affichage>Vues.
Là, à la fin, vous pouvez rajouter ce genre de code:
$total = 0;
foreach($cart->products as $i => $product) {
if(!empty($product->xxx)) $total += $product->cart_product_quantity * $product->xxx;
}
if($total) {
echo "Votre caution sera de ".$total."€";
}
où il faudra remplacer xxx par le nom de colonne de votre champ.
Pour l'email, il faut faire un rajout du genre:
<?php
$total = 0;
foreach($data->cart->products as $i => $product) {
if(!empty($product->xxx)) $total += $product->cart_product_quantity * $product->xxx;
}
if($total) {
echo "Votre caution sera de ".$total."€";
}
?>
où il faudra remplacer xxx par le nom de colonne de votre champ, dans la section HTML de l'email, que vous pouvez éditer via Système>Emails.