PrestaShop Forum

The best place in the world to ask questions about PrestaShop and get advice from our passionate community!

PrestaShop Forum

Jump to content

 

[Résolu] Si prix = 0 alors demande d’info par mail

41 replies to this topic
#1
jeckyl

    PrestaShop Legend

  • Freelance agréé
  • 10489 posts
Bonjour à tous,

Je cherche à faire un truc tout simple, tellement simple que je ne trouve pas la bonne méthode ;-)

Pour les produits avec un prix à 0 j'aimerais que le prix ne s'affiche pas et qu'à la place on puisse envoyer un mail directement concernant ce produit afin d'avoir d'autres informations.

Au départ je voulais faire un module, mais comme l'affichage du prix n'est pas un hook, je suppose que ce n'est pas possible.
donc je vais directement modifier mon fichier product.tpl dans mon thème.

j'ai ajouté la condition suivante pour éviter que le prix ne s'affiche :

{if $product->getPrice(true, $smarty.const.NULL, 0) != 0}
{if !$priceDisplay || $priceDisplay == 2}
{convertPrice price=$product->getPrice(true, $smarty.const.NULL, 2)}
{l s='tax incl.'}
{/if}
{/if}


Cela fonctionne bien.

Puis je vais surement utiliser le module interesatdeprodus pour faire un lien faire le formulaire de demande d'information.

Qu'en pensez-vous, et connaissez vous une meilleur solution ?
PrestatoolBox, la boite à outil pour Prestashop (Modules, Templates, Services)

Prestatools, l'annuaire des contributions

#2
Madrilene

    PrestaShop Apprentice

  • Members
  • PipPip
  • 171 posts
hello
je n'y connais rien en programmation, mais est ce qu'une pitse ne pourrait pas etre de désactiver le panier sur les articles dont le prix est zéro, voire ceux que tu select-ionnes avec un critere éventuellement maison (style un attribut) ? je sais qu'iul y a eu un post ou peut etre un module sur comment déactiver le panier...
Désactivation peut etre a coupler avec "poser une question sur ce produit".
http://www.prestasho..._sur_un_produit

désolée de ne pas pouvoir t'aider plus

#3
Atch

    PrestaShop Fanatic

  • Moderators
  • 2918 posts
Il y avait un module qui le faisait sur la 1.1

http://todoprestasho....php?f=17&t=908

V+

Atch

#4
jeckyl

    PrestaShop Legend

  • Freelance agréé
  • 10489 posts
@atch : Merci, mais c'est un hack et non un module. Donc à surveiller à chaque évolution.

En faisant une modification dans le thème cela réduit la charge de suivit.

J'ai réussit à le faire fonctionner sans problème.

Il suffit de mettre en place le module interesatdeprodus sans l'installer pour pouvoir utiliser le formulaire. Formulaire que j'ai modifié pour qu'il récupère automatiquement le mail de la boutique et éviter de le coder en dure comme c'est le cas actuellement.

Pour intégrer la fonction il faut aussi penser à la page product-list.tpl qui doit aussi être modifié.


Par contre si quelqu'un trouve une meilleur solution avec un module, je suis preneur.
PrestatoolBox, la boite à outil pour Prestashop (Modules, Templates, Services)

Prestatools, l'annuaire des contributions

#5
Tropical Dream

    PrestaShop Apprentice

  • Members
  • PipPip
  • 131 posts
c'est dans quel fichier qu'on doit mettre ce code? est-ce que c'est compatible 1.2.4?

#6
jeckyl

    PrestaShop Legend

  • Freelance agréé
  • 10489 posts
on doit travailler sur 2 fichiers.

product-list.tpl et product.tpl dans ton thème.

attention, dans product-list, ce n'est pas la même variable à tester :
{if $product.price != 0}


bien entendu, on englobe l'affichage du prix dans les 2 fichiers.

product.tpl : ligne 196
{if $product->getPrice(true, $smarty.const.NULL, 0) != 0}
{if !$priceDisplay || $priceDisplay == 2}
{convertPrice price=$product->getPrice(true, $smarty.const.NULL, 2)}
{l s='tax incl.'}
{/if}
{/if}


puis on fait disparaitre le bouton d'achat, plus on ajoute le lien vers le formulaire de demande d'information :
 {if $product->getPrice(true, $smarty.const.NULL, 0) != 0}
quantity == 0} style="display:none;"{/if} id="add_to_cart" class="buttons_bottom_block"><input type="submit" name="Submit" value="{l s='Add to cart'}" class="exclusive" /></p>
{else}

{l s='Interested in product'}


{/if}

PrestatoolBox, la boite à outil pour Prestashop (Modules, Templates, Services)

Prestatools, l'annuaire des contributions

#7
Tropical Dream

    PrestaShop Apprentice

  • Members
  • PipPip
  • 131 posts
je vais essayer ca tout de suite. merci :)

#8
Tropical Dream

    PrestaShop Apprentice

  • Members
  • PipPip
  • 131 posts
ca n'a pas fonctionné pour moi, plus aucun produit ne s'affichait dans les categories. Je pense que je ne suis pas en train de mettre le bon code sur la bonne ligne. Je n'arrive pas a savoir ou je dois mettre le code exactement... Je dois remplacer le code existant ou ajouter ton code a la suite?

je dois ajouter ce code n'importe ou dans product-list?
{if $product.price != 0}

Et pour ces 2 codes: if $product->getPrice...
je dois les mettre l'un a la suite de l'autre?

Est-ce que ca enleve aussi le prix du module "featured products"?

#9
jeckyl

    PrestaShop Legend

  • Freelance agréé
  • 10489 posts
Dans product.tpl à la ligne 196 tu remplace
{if !$priceDisplay || $priceDisplay == 2}
{convertPrice price=$product->getPrice(true, $smarty.const.NULL, 2)}
{l s='tax incl.'}
{/if}

par
{if $product->getPrice(true, $smarty.const.NULL, 0) != 0}
{if !$priceDisplay || $priceDisplay == 2}
{convertPrice price=$product->getPrice(true, $smarty.const.NULL, 2)}
{l s='tax incl.'}
{/if}
{/if}

PrestatoolBox, la boite à outil pour Prestashop (Modules, Templates, Services)

Prestatools, l'annuaire des contributions

#10
Tropical Dream

    PrestaShop Apprentice

  • Members
  • PipPip
  • 131 posts
Superbe! ca a fonctionne! le prix de la page produit est partie.

Maintenant, quel code je dois remplacer pour enlever le prix si Prix=0$ de: la "section categorie produits" et de "de Featured products". Et quel code je dois remplacer pour enlever le cart button si Prix=0$?

je vais m'aventurer un petit peu dans le code et essayer, mais si tu sais ce que je dois changer ca me serais beaucoup plus facile pour pas que je fasse de degats :)

UPDATE: lolll tout seul je m'en sors pas, j'ai suivi ton truc avec les if et if/ mais je n'y arrive pas :P. Jusqu'a present tout ce que j'ai reussi a faire c'est enlever le prix de la page produit grace a tes instructions.

#11
Tropical Dream

    PrestaShop Apprentice

  • Members
  • PipPip
  • 131 posts
j'ai reussi maintenant a enlever le "add to cart" button :) je pense avoir compris ce qu'il faut faire en suivant ta logique. Je vais regarder le reste des fonctions a modifier petit a petit :)

#12
easybizness

    PrestaShop Apprentice

  • Members
  • PipPip
  • 201 posts
Bonjour,

Alors tropical dream tu as réussi ce que tu cherchais à faire?

Tu nous donnes l'astuce ??

#13
tungsten

    PrestaShop Apprentice

  • Members
  • PipPip
  • 110 posts
Bonjour,
je cherche également à remplacer l'affichage du prix, par "prix, nous consulter"
Or voici mon code de product.tpl :
<!-- prices -->


{if $product->on_sale}
{l s='On sale!'}
{elseif ($product->reduction_price != 0 || $product->reduction_percent != 0) && ($product->reduction_from == $product->reduction_to OR ($smarty.now|date_format:'%Y-%m-%d' <= $product->reduction_to && $smarty.now|date_format:'%Y-%m-%d' >= $product->reduction_from))}
{/if}
{convertPrice price=$product->getPrice(true, NULL, 2)} {if $product->getPrice(true, NULL, 2) != $product->getPrice(false, NULL, 2)}{l s='incl. tax'}{/if}

{if $displayPreTax AND $display_ht AND $product->id_tax}

{l s='('}{convertPrice price=$product->getPrice(false, NULL, 2)} {l s='tax not incl.)'}
{/if}


{if ($product->reduction_price != 0 || $product->reduction_percent != 0) && ($product->reduction_from == $product->reduction_to OR ($smarty.now|date_format:'%Y-%m-%d' <= $product->reduction_to && $smarty.now|date_format:'%Y-%m-%d' >= $product->reduction_from))}

{convertPrice price=$product->getPriceWithoutReduct()} {l s='incl. tax'}


{/if}
{if $product->reduction_percent != 0 && ($product->reduction_from == $product->reduction_to OR ($smarty.now|date_format:'%Y-%m-%d' <= $product->reduction_to && $smarty.now|date_format:'%Y-%m-%d' >= $product->reduction_from))}

{l s='(price reduced by'} {$product->reduction_percent|floatval} %{l s=')'}


{/if}
{if $product->ecotax != 0}

{l s='include'} {convertPrice price=$product->ecotax} {l s='for green tax'}


{/if}


A quel endroit dois-je positionner ma condition ?

D'avance merci pour votre aide...
www.portraitsdunmonde.com
www.valeryjoubault.com
www.tungsten-prod.com
www.petitbain.com

#14
Mortillus

    PrestaShop Apprentice

  • Members
  • PipPip
  • 296 posts
Tropical Dream

Ah je n'arrive pas enlever ni le prix ni le bouton acaht tu peux me donner un coup de main SVP !!!!

#15
tungsten

    PrestaShop Apprentice

  • Members
  • PipPip
  • 110 posts
En fait il semble que mon code à remplacer se trouve ici ?

{convertPrice price=$product->getPrice(true, NULL, 2)} {if $product->getPrice(true, NULL, 2) != $product->getPrice(false, NULL, 2)}{l s='incl. tax'}{/if}

www.portraitsdunmonde.com
www.valeryjoubault.com
www.tungsten-prod.com
www.petitbain.com

#16
ehermouet

    PrestaShop Apprentice

  • Members
  • PipPip
  • 51 posts
j'ai trouvé pour le product list

remplacer la ligne 18 par celle ci

{if $product.price != 0}{convertPrice price=$product.price_tax_exc}{/if}


#17
eliote7

    PrestaShop Newbie

  • Members
  • Pip
  • 9 posts
ça me bouffe quand les gens viennent dans les forum,
posent leur questions, une fois qu'ils ont eu ce qu'ils cherchaient ils se barre comme des voleurs !
Exemple ici Tropical dream a trouver l'astuce mais semble la garder pour lui ... !!!

Vais devoir trouver aussi par moi meme ou chercher sur le forum comment retirer le bouton add to cart si le prix = zero car je demarre prestashop et en code (meme si j'ai une certaine logique) j'ai pas encore trop pigé !
si quelqun a donc pigé : car je viens d'y passer encore 3 h
rappel de procedure : si le prix = 0
1 - retrait du prix
2 - du retrait du bouton ajout au panier (bouton)
3 - d'y mettre un text comme quelqun le souhaite (ou un lien)

les fichiers à travailler et a quelle ligne remplacer !!
Merci encore Tropical dream ! :-( bel exemple de partage d'informations !!

#18
jeckyl

    PrestaShop Legend

  • Freelance agréé
  • 10489 posts
Salut,

Je ne comprends pas trop, j'ai donné la solution assez clairement dans ce topic.

Cela fonctionne très bien chez un de mes client.
PrestatoolBox, la boite à outil pour Prestashop (Modules, Templates, Services)

Prestatools, l'annuaire des contributions

#19
ninus05

    PrestaShop Apprentice

  • Members
  • PipPip
  • 125 posts
bonjour,

tout d'abord merci pour ce post qui je pense est utile à beaucoup de monde.
Pour ma part, il m'est d'une grande aide.

J'ai suivi toutes les explications données en page 1 et je suis arrivée à enlever le prix sans difficulté mais je n'ai pas dut rentrer le code au bon endroit concernant le panier car il n'a pas disparu.

Serait-il possible de m'indiquer quelle ligne je dois modifier pour que mon bouton "ajouter au panier" disparaisse lorsque mon prix est à 0?

Merci beaucoup

#20
tungsten

    PrestaShop Apprentice

  • Members
  • PipPip
  • 110 posts
Bonjour,

J'ai réussi à remplacer 0,00 € par "PRIX, NOUS CONSULTER" dans la fiche produit, mais comment faire pareil dans product-list.tpl ?

Mon code d'origine est le suivant :
         


{displayWtPrice p=$product.price}





D'avance merci pour vos conseils !
www.portraitsdunmonde.com
www.valeryjoubault.com
www.tungsten-prod.com
www.petitbain.com