Jump to content

Prestashop 1.4 : Affichage Prix par groupe et prix de base barré


Recommended Posts

Bonjour à tous,
Voilà ma question, j'intègre un thème pour prestashop. J'utilise la version 1.4 et les fonctionnalités de prix par groupe.
Or pour certains groupes j'aimerais afficher le prix et le prix de base barré, pour que l'utilisateur puisse apprécier le prix spécial dont il bénéficie (ce ne sont pas des réductions mais des prix différents).
Savez-vous comment je peux apporter cette modification ?

Merci de votre aide !

Link to comment
Share on other sites

  • 4 months later...

Salut !

 

Je cherche a faire la même chose ....

 

As tu réussi ??

 

Je voudrait afficher un truc du genre :

 

Prix de départ : 50€ (groupe 1 par defaut)

Votre prix : 40€ (groupe x )

 

Mais dans product.tpl, j'arrive pas a trouvé a faire afficher le prix de base du produit .. celui sans reduction dû au groupe ..

ou mieux, le prix avec les réduction, avec les parametres du groupe 1 ( par defaut)

Link to comment
Share on other sites

Oui j'ai réussi, mais pour ça j'ai du faire un override de product, je te mets le fichier d'override en pièce jointe.

Donc tu ajoutes le fichier dans le dossier override de ta boutique,

puis dans product.tpl tu fais des appels à la fonctions getStandardPriceWithoutReduct (true pour dire d'afficher le prix HT et false pour TTC) ca te donnera le prix sans réduction du groupe de base :

{assign var='productStandardPrice' value=$product->getStandardPriceWithoutReduct(true)}

et pour l'affichage

{convertPrice price=$productStandardPrice}

 

Si tu veux avoir les prix du groupes de base avec ses réductions il y a la fonction getStandardPrice, attention l'argument de taxe est inversée (true pour TTC et false pour HT)

Celle là je ne l'ai pas utilisée au final mais elle devrait marcher.

 

Après tu fais ton Tpl en gérant les cas selon l'id group du client

{assign var='id_group' value=Customer::getDefaultGroupId((int)($cookie->id_customer))}

 

 

Pour moi ça marche bien. J'espère que ça t'aidera.

Rapaz

Product.php

Link to comment
Share on other sites

SAlut !

 

merci de ton aide !

 

j'ai réussi a faire ce que je voulait !

 

voici le bout de code que j'ai utilisé :

 

<!-- prices -->

{if $product->show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}

 

{if $product->getStandardPrice(true, $smarty.const.NULL) > $product->getPrice(true, $smarty.const.NULL)}

<p style='text-align:right;'>

Prix normal :<span class="price-discount"> {convertPrice price=$product->getStandardPrice(true, $smarty.const.NULL)}</span>

</p>

{/if}

<p class="price">

 

dans product.tpl, avec en gras ce que j'ai rajouté !!!!

 

J'ai mis un bout de texte en "dur" .. :P mais c'est pas grave, j'ai que des francais en clients ..

Link to comment
Share on other sites

  • 1 month later...

 

SAlut !

 

merci de ton aide !

 

j'ai réussi a faire ce que je voulait !

 

voici le bout de code que j'ai utilisé :

 

<!-- prices -->

{if $product->show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}

 

{if $product->getStandardPrice(true, $smarty.const.NULL) > $product->getPrice(true, $smarty.const.NULL)}

<p style='text-align:right;'>

Prix normal :<span class="price-discount"> {convertPrice price=$product->getStandardPrice(true, $smarty.const.NULL)}</span>

</p>

{/if}

<p class="price">

 

dans product.tpl, avec en gras ce que j'ai rajouté !!!!

 

J'ai mis un bout de texte en "dur" .. :P mais c'est pas grave, j'ai que des francais en clients ..

 

Bonjour,

 

Ça ne fonctionne pas chez moi, rien ne se passe, il n'y a que le prix remisé...

Link to comment
Share on other sites

Oui j'ai réussi, mais pour ça j'ai du faire un override de product, je te mets le fichier d'override en pièce jointe.

Donc tu ajoutes le fichier dans le dossier override de ta boutique,

puis dans product.tpl tu fais des appels à la fonctions getStandardPriceWithoutReduct (true pour dire d'afficher le prix HT et false pour TTC) ca te donnera le prix sans réduction du groupe de base :

{assign var='productStandardPrice' value=$product->getStandardPriceWithoutReduct(true)}

et pour l'affichage

{convertPrice price=$productStandardPrice}

 

Si tu veux avoir les prix du groupes de base avec ses réductions il y a la fonction getStandardPrice, attention l'argument de taxe est inversée (true pour TTC et false pour HT)

Celle là je ne l'ai pas utilisée au final mais elle devrait marcher.

 

Après tu fais ton Tpl en gérant les cas selon l'id group du client

{assign var='id_group' value=Customer::getDefaultGroupId((int)($cookie->id_customer))}

 

 

Pour moi ça marche bien. J'espère que ça t'aidera.

Rapaz

 

Bonjour,

 

Si tu avais la gentillesse de faire l'effort de m'aider en donnant plus de détails pour 'le nul' que je suis.

 

quel endroit, que fichier et surtout de quelle façon !?? merci

Link to comment
Share on other sites

Bonjour difficile d'être plus explicite sans faire directement le travail.

Le sujet requiert deux compétences :

- L'override, avec le fichier que j'ai joint à mon second post ci-dessus ( un bon tutorial à cette adresse http://forge.prestashop.com:8081/display/PS14/Surcharge+et+override )

- La modification des template Smarty.

 

Si tu comprends les deux, mes indications devraient te mettre suffisamment sur la voie pour y arriver.

L'override offre deux nouvelles fonctions pour obtenir le prix de base, et la modification tpl permettra d'appeler l'une de ces deux fonctions pour l'afficher dans la page product.

 

Rapaz

Link to comment
Share on other sites

Bonjour difficile d'être plus explicite sans faire directement le travail...

 

Bonjour et merci d'avoir répondu, mais je suis vraiment nul et ce serait vraiment dommage que je ne profite pas de ton travail que je recherche depuis pas mal de temps.

 

alors si j'ai déjà un peu compris, j'ai mis ton fichier Product.php dans le dossier /override/classes/

mais pour "La modification des template Smarty." c'est du "chinois" autant pour faire des appels avec la fonction getStandardPriceWithoutReduct ...

 

Je te demande juste de m'expliquer quel ligne de code il faut rajouter ou enlever ou remplacer et dans quel fichier exactement et à quel endroit

 

idem pour

Après tu fais ton Tpl en gérant les cas selon l'id group du client

{assign var='id_group' value=Customer::getDefaultGroupId((int)($cookie->id_customer))}

 

Je suis sincèrement désolé de t'importuner ainsi, je t'en serai vraiment reconnaissant si tu pouvais vraiment m'aider. Par avance merci. Aussi, je suis certain que cela va aider bien d'autres personnes comme moi.

Link to comment
Share on other sites

merci pour ce post qui m'a aidé pour ajouter un texte uniquement visible pour certains groupes clients. la partie tpl est exactement ce que je cherchais.

 

Tu as bien de la chance d'en connaitre plus que moi pour utiliser ce post.

Link to comment
Share on other sites

merci pour ce post qui m'a aidé pour ajouter un texte uniquement visible pour certains groupes clients. la partie tpl est exactement ce que je cherchais.

Ravi que ça t'ait servi !

 

Vad, je suis vraiment désolé, mais je ne peux pas te dire "quelle ligne de code il faut rajouter ou enlever ou remplacer et dans quel fichier exactement et à quel endroit", car chaque projet est différent, chaque template à ses propres spécificités, et je ne peux pas faire le projet sans le connaître !

Link to comment
Share on other sites

Vad, je suis vraiment désolé, mais je ne peux pas te dire "quelle ligne de code il faut rajouter ou enlever ou remplacer et dans quel fichier exactement et à quel endroit", car chaque projet est différent, chaque template à ses propres spécificités, et je ne peux pas faire le projet sans le connaître !

 

le projet est dans ton tire et le template est celui de Prestashop 1.4.6.2 thèmes par défaut

Sinon sniff !!

Link to comment
Share on other sites

Ouf enfin !!!

 

A force de tâtonner, j'ai réussis à faire comme indiqué

 

Alors pour les nuls comme moi, voici la manipulation détaillée.

 

==================

Pour rajouter le prix barré public sur les groupes avec remise. J'ai mis le fichier Product.php de "ElRapazGrande" dans le dossier /overide/classes/

 

Puis j'ai ajouté le code de "Ambiga" Florent, dans le fichier /themes/prestashop/product.tpl vers la ligne 239 sur presta 1.4.6.2

Le code:

{if $product->getStandardPrice(true, $smarty.const.NULL) > $product->getPrice(true, $smarty.const.NULL)}
<p style='text-align:right;'>
Prix normal public :<span class="price-discount"> {convertPrice price=$product->getStandardPrice(true, $smarty.const.NULL)}</span>
</p>
{/if}

Après:

<!-- prices -->
{if $product->show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}

Avant:

<p class="price">

 

Par contre j'ai lu ailleurs, que quand on fait un "override" c'est pour justement ne pas toucher au coeur de Prestashop et là on intervient quand même sur le fichier product.tlp. Alors je me demandais si il était possible de mettre tout cela au "propre" pour ne pas toucher au coeur, afin de pouvoir faire plus tard une bonne MAJ.

 

En attendant un grand merci à "ElRapazGrande" et "Ambiga" Florent

Link to comment
Share on other sites

Content que t'aies enfin réussi à faire ce que tu voulais.

 

Par rapport à ton dernier paragraphe : le fichier product.tpl est un fichier de template, situé dans le dossier template de ton site, ce n'est donc pas le coeur de prestashop, mais au contraire, l'endroit où sont regroupés les fichiers que tu dois modifier pour personnaliser ton site.

Il n'y a donc pas de solution plus "propre" de ce point de vue, c'est normal de modifier ce fichier.

L'override est important dès qu'on touche aux autres fichiers, surtout ceux situés dans le dossier classes, ce qui est le cas de l'override que j'ai mis en pièce jointe plus haut.

 

Rapaz

Link to comment
Share on other sites

  • 1 month later...

je viens poser ma question ici car c'est une demande un peu dans le même style, j'ai fait un post pour poser ma question maus personne n'a répondu,il est là:

http://www.prestashop.com/forums/topic/156999-reduction-groupes-clients-non-cumulables-avec-les-promos/

 

j'ai essayé de me servir du fichier d'overide de rapaz mais ca ne fonctionne pas non lpus, en fait je voudrais que quand un produit est en promo de -20% par exemple, la réduction du groupe ne s'applique pas (ca j'ai réussi à le faire)

mais le tarif affiché dans la product.tpl n'est pas le bon. je voudrais le tarif réduit sans la réduc groupe.

qqun peut il m'aider?

merci

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour,

 

Le code fonctionne très bien pour le prix "général" du produit, mais n'est pas du tout adapté lorsque le prix change selon les attributs.

Quelqu'un a-t-il adapté le code dans ce sens ?

 

Merci d'avance pour vos réponses.

Link to comment
Share on other sites

  • 2 months later...
  • 4 weeks later...
  • 4 weeks later...

Bonjour,

 

Le code fonctionne très bien pour le prix "général" du produit, mais n'est pas du tout adapté lorsque le prix change selon les attributs.

Quelqu'un a-t-il adapté le code dans ce sens ?

 

Merci d'avance pour vos réponses.

même problème pour moi.

Super tuto, mais il manque la partie "attributs"!!!!

 

Quelqu'un à une astuce???

Prestashop 1.4.6.2

www.bigprintshop.fr

Link to comment
Share on other sites

  • 5 months later...
  • 2 years 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...