Jump to content

Le HT sur vos fiches produit


julien

Recommended Posts

Suite aux nombreuses demandes sur le TVA voilà ce que nous avons mis en place pour notre site :

 

Cela fonctionne même pour les attribus, une réduction un montant ou pourcentage...

 

Enfin si il y a des bugs merci de les remonter  ;D

 

Une petite image pour vous montrer à quoi celà ressemble :

 

TVA1.JPG

 

Et maintenant un peu de pratique :D

 

alors tout d'abord il faut modifier le product.tpl dans le répertoire 'theme/default'

 

Rajouter

                <div id="priceHT">

                    {convertPrice price=$product->getPrice(false, NULL, 2)} HT

                </div>

             

                <div id="tva" style="display:none">

                    {$product->tax_rate}

                </div> 

 

après le code suivant :

 

<!-- Price -->

<div class="product_prices">

<!-- Price -->

<div class="product_price">

<div class="big_price" id="price">

{convertPrice price=$product->getPrice(true, NULL, 2)}

</div>

 

 

et enfin modifier attributFront.js dans le répertoire 'js'...

 

remplacer la fonction updatePrice :

 

function updatePrice()

{

var priceProductWR = (attr_price + product_price_without_reduct) * currency_rate;

var priceReduct = priceProductWR / 100 * parseInt(reduction_percent) + reduction_price;

var priceProduct = priceProductWR - priceReduct;

getE('price').innerHTML = (typeof(priceText) != 'undefined' ? priceText + ' ' : '') + (currency_format == 1 ? currency_sign + ' ' : '') + (priceProduct).toFixed(2) + (currency_format == 2 ? ' ' + currency_sign : '');

if (getE('price_without_reduct'))

getE('price_without_reduct').innerHTML = (currency_format == 1 ? currency_sign + ' ' : '') + (priceProductWR).toFixed(2) + (currency_format == 2 ? ' ' + currency_sign : '');

}

 

 

par :

 

function    updatePrice()

{

 

    var priceProductWR = (attr_price + product_price_without_reduct) * currency_rate;

    var priceReduct = priceProductWR / 100 * parseInt(reduction_percent) + reduction_price;

    var priceProduct = priceProductWR - priceReduct; 

 

    var tva = (getE('tva').innerHTML / 100) + 1; 

    var priceProductHT = (priceProductWR - priceReduct) / tva;

 

    getE('price').innerHTML = (typeof(priceText) != 'undefined' ? priceText + ' ' : '') + (currency_format == 1 ? currency_sign + ' ' : '') + (priceProduct).toFixed(2) + (currency_format == 2 ? ' ' + currency_sign : '');

 

    getE('priceHT').innerHTML = (typeof(priceText) != 'undefined' ? priceText + ' ' : '') + (currency_format == 1 ? currency_sign + ' ' : '') + (priceProductHT).toFixed(2) + (currency_format == 2 ? ' ' + currency_sign : '') + ' HT';

 

    if (getE('price_without_reduct'))

        getE('price_without_reduct').innerHTML = (currency_format == 1 ? currency_sign + ' ' : '') + (priceProductWR).toFixed(2) + (currency_format == 2 ? ' ' + currency_sign : '');

}

 

 

Et Voila

 

 

Link to comment
Share on other sites

En effet , très bon boulot Julien comme j'ai des clients professionnels en plus des particuliers, il me manquait cette option. Bravo :).

 

-- edit : juste une chose que je trouve dommage, c'est qu'il ne soit visible qu'en regardant la fiche du produit. Y'a t-il un moyen pour le voir dans la liste des produits d'une catégorie ? Merci d'avance pour ta réponse :) --

Link to comment
Share on other sites

Bonjour et merci,

 

@ Gimly : Je travaille actuellement sur le panier et la liste des produits. Je suis aussi en B to B donc tout doit être en HT. Ensuite il faudra reprendre tous les modules ou des prix sont affiché (block panier, promotion, ...) pour faire la même chose.

 

Je posterai ici au fur et a mesure et si quelqu'un a le temps de me donner un coup de main ...

 

Cette solution n'est pas la meilleure, mais elle permet d'attendre jusqu'a que Prestashop propose le choix TTC/HT dans le back office. Mais il me semble que l'équipe a des choses de plus importantes a faire avec la préparation de la version 1.0

 

edit : 22/01 à 10h30

 

Petite question pour les développeurs :

 

Pour afficher le prix dans la fiche produit j'utilise la fonction

{convertPrice price=$product->getPrice(true, NULL, 2)}

dans le template, ce qui semble bien fonctionner.

 

Dans le panier cette fonctionnalité n'est pas disponnible, mais j'arrive a afficher le HT avec :

{convertPrice price=$product.price}

au lieu de

{convertPrice price=$product.price_wt}

 

Je me demande si cette ces deux solutions amènent réellement au même résultat ou si l'une des deux peut poser des problèmes (gestion des langues, des reductions, ...)

 

Merci

 

Julien

 

Link to comment
Share on other sites

@ jeronicoz: J'ai le même problème : Les prix sont en TTC sauf dans le panier et la facturation.

 

@ Philippe Sang : En realité j'ai besoin de la TVA. Mais elle doit apparaitre qu'a la fin. En B to B tout est annoncé en HT, même les réduction sont calculé sur cette base. Mais à la fin le client paye la TVA.

J'avais donc 2 possibilités


  • [li]Désactiver les taxes et les rajouter dans le panier et la facture[/li]
    [li]Activer les taxe et les supprimer sur toute la partie catalogue (liste et fiche produits)[/li]

 

J'ai donc fait le 2eme choix qui me semble plus simple et qui ne touche que aux templates.

 

__________

 

Je vient de terminé le panier facon B to B

 

Voici ne image :

 

panier_B2B.jpg

 

et voici le fichier :

 

http://julienj.fr/shopping-cart.tpl

 

Voila

 

Link to comment
Share on other sites

  • 7 months later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...