Oopata Posted March 7, 2015 Share Posted March 7, 2015 (edited) Bonjour, Tout d'abord, je suis newbie sur Presta, c'est la première boutique que j'essaye de créer, avec bien du mal concernant l'import des combinaisons ! Ayant beaucoup de combinaisons sur chaque produit qui modifient le prix final, une solution simple pour moi est de laisser le prix du produit à 0, ainsi que l'éco-taxe à 0 et appliquer les prix et ecotax sur les déclinaisons via l'importation CSV. Sauf que je ne comprends pas pourquoi les ecotax des déclinaisons n'impactent pas le prix dans la fiche produit et ainsi que dans le panier. Je me suis donc essayé à modifier le code ainsi : Pouvez-vous me dire si j'ai bien fait ? > Bon j'ai vu qu'il fallait faire des override, j'essaierai plus tard, pour l'instant c'est modifs directes dans le code à l'arrache ! LOL Ca donne ce que je souhaite faire, par contre, quand on applique une réduction de 10% sur le TTC, la réduc s'applique en retirant l'ecotax, ce qui fait que ma réduc n'est plus que de 9,84% par exemple, c'est un peu pénible :-) 1. Modifier le fichier suivant pour afficher l'écotax TTC de la combinaison sélectionnée dans la fiche produit (l'écotax de la combinaison remplace l'écotax du produit qui est à 0 dans ma base)/themes/default-bootstrap/product.js Ligne 683, ajouter : if (combination.ecotax) { basePriceDisplay = basePriceDisplay + combination.ecotax * (1 + ecotaxTax_rate / 100); priceWithDiscountsDisplay = priceWithDiscountsDisplay + combination.ecotax * (1 + ecotaxTax_rate / 100); } Ligne 771 : (mettre en commentaire les lignes suivantes : // If the default product ecotax is overridden by the combination //if (combination.ecotax) // ecotax = +combination.ecotax; Ligne 782 ajouter : if (combination.ecotax) { ecotax = +combination.ecotax; if (!noTaxForThisProduct) ecotax = ecotax * (1 + ecotaxTax_rate/100); $('#ecotax_price_display').text(formatCurrency(ecotax * currencyRate, currencyFormat, currencySign, currencyBlank)); $('.price-ecotax').show(); } 2. Modifier le fichier pour afficher toujours l'écotax dans la ficher produit : (ben si l'eco du produit est à 0, elle s'affiche pas !) /themes/product.tpl Enlever ligne 297 : {if $product->ecotax != 0} et ligne 302 : {/if} 3. Modifier le fichier suivant pour modifier le prix dans la liste des produits :/classes/Product.php Ligne 2759 : $sql->select('product_attribute_shop.id_product_attribute, product_attribute_shop.`price` AS attribute_price, product_attribute_shop.`ecotax` AS attribute_ecotax, product_attribute_shop.default_on'); Ligne 2773 : 'attribute_price' => (isset($row['attribute_price']) ? $row['attribute_price'] : null), 'attribute_ecotax' => (isset($row['attribute_ecotax']) ? $row['attribute_ecotax'] : null) 4. Modifier le panier pour afficher les produits TTC avec ecotax :/classes/Cart.php Ligne 609, passer la valeur à true : $row['price'] = Product::getPriceStatic( (int)$row['id_product'], false, isset($row['id_product_attribute']) ? (int)$row['id_product_attribute'] : null, 6, null, false, true, $row['cart_quantity'], false, (int)$this->id_customer ? (int)$this->id_customer : null, (int)$this->id, $address_id, $specific_price_output, true, true, $cart_shop_context ); Merci la communauté ! Edited March 7, 2015 by Oopata (see edit history) 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now