Non affichage des prix pour devis

  • Posts: 33
  • Thank you received: 0
12 years 7 months ago #46753

Bonjour,

j'utilise hickashop pour gérer deux types demandes : commandes et devis.

Pour les utilisateurs enregistrés appartenant au groupe 1 ou 2, j'affiche le prix correspondant sur les produits.

Pour les utilisateurs non enregistrés, la commande est alors une demande de devis, il ne voit aucun prix, et j'ai remplacé le mot "gratuit" par "sur devis". Cela fonctionne très bien sur les pages produits, cependant le prix total du panier reste à 0.00 € .

1. Est-il possible d'empêcher l'affichage du total ou de le remplacer également par "sur devis" lorsqu'il est égal à 0.00 € ?
2. Dans les mails de confirmation de commande que reçoivent l'utilisateur et l'administrateur, le prix à l'unité (0.00 €) et le total ne sont pas remplacés par sur devis, comment changer cela ?
3. Est-il possible d'avoir deux emails de notification différents : l'un pour les commandes, l'autre pour les demandes de devis ?

Merci !

Please Log in or Create an account to join the conversation.

  • Posts: 82868
  • Thank you received: 13378
  • MODERATOR
12 years 7 months ago #46878

Bonjour,

Il va falloir éditer le fichier cart de la vue checkout pour le panier lors du passage en caisse via le menu Affichage->Vues pour le pas afficher le prix mais votre texte quand le total est 0.
Il faudra faire la même chose dans les emails en les éditant via le menu Système->Emails (version Business uniquement).

Vous pourrez personnaliser l'email pour afficher deux choses différentes en fonction du prix total donc vous pourrez avoir deux emails différents alors via le même fichier d'email.

Please Log in or Create an account to join the conversation.

  • Posts: 33
  • Thank you received: 0
12 years 7 months ago #46879

Merci,

je possède bien la version business,

je comprend bien la nature des modifications à effectuer, mais je n'ai aucune idée de la portion de code concernée, mes compétences en php sont assez limitées. Pouvez-vous me donnez la portion de code à reproduire qui fonctionne déjà pour les prix des produits individuels, et le code à créer pour générer un email en focntion du prix total ?

Please Log in or Create an account to join the conversation.

  • Posts: 82868
  • Thank you received: 13378
  • MODERATOR
12 years 7 months ago #46881

Dans la vue, vous trouverez à plusieurs endroits ce code:
echo $this->currencyHelper->format(...
qui permet d'afficher un prix. Il faut rajouter avant:
if($this->full_total->prices[0]->price_value_with_tax<0.001) echo 'Sur devis'; else

Pour les emails, vous trouverez à plusieurs endroits ce code:

echo $currencyHelper->format(
Il faut rajouter avant:
if($data->order_full_price<0.001) echo 'Sur devis'; else

Pour afficher différents textes dans vos emails en fonction du prix total, il faudra faire faire ainsi:
if($data->order_full_price>0){
 echo 'commande';
}else{
 echo 'devis';
}

Last edit: 7 years 5 months ago by Jerome. Reason: [code] is nice
The following user(s) said Thank You: dylis

Please Log in or Create an account to join the conversation.

  • Posts: 22
  • Thank you received: 1
7 years 5 months ago #270476

Bonjour,
Dans quel fichier php ce trouve ces codes à modifier?
Merci

Please Log in or Create an account to join the conversation.

  • Posts: 82868
  • Thank you received: 13378
  • MODERATOR
7 years 5 months ago #270514

Bonjour,

Dans un précédent message, je parle d'éditer le fichier "cart" de la vue "checkout" via le menu Affichage>Vues:
www.hikashop.com/forum/5-support-en-fran...our-devis.html#46878
Notez cependant qu'avec HikaShop 3, ce n'est valable que si vous avez l'option "checkout legacy" activée et donc que vous utilisez l'ancien checkout d'HikaShop.
Avec le nouveau checkout d'HikaShop, c'est le fichier "show_block_cart" qu'il faut éditer

Les emails sont éditables via le menu Système>Emails.

Please Log in or Create an account to join the conversation.

  • Posts: 22
  • Thank you received: 1
7 years 5 months ago #270677

Bonjour merci pour votre réponse.
J'ai bien trouver le fichier en question mais je n'ai pas trouvé le code
echo $this->currencyHelper->format(...

pour les emails je ne sait quel fichier modifier via le menu Système>Emails.
Bien Cordialement.

Please Log in or Create an account to join the conversation.

  • Posts: 82868
  • Thank you received: 13378
  • MODERATOR
7 years 5 months ago #270679

Bonjour,

Sur la nouvelle vue, nous avons corrigé le nom de la variable currencyHelper qui devrait normalement s'appeler currencyClass.
Donc le code à chercher, c'est:
echo $this->currencyClass->format(

Dans les emails, il faut éditer les emails de notification de commande. Il y en a plusieurs. Le plus simple est de commencé par "notification de commande" qui est testable simplement en cliquant sur le bouton "email" lorsque vous éditez une commande dans le backend. C'est la zone "preload" qu'il faut modifier. Là, vous retrouverez le même genre de code:
$currencyHelper->format(

Please Log in or Create an account to join the conversation.

  • Posts: 22
  • Thank you received: 1
7 years 5 months ago #270793

Bonjour,
Je n'arrive pas a faire la modification quand vous dite de rajouter
if($this->full_total->prices[0]->price_value_with_tax<0.001) echo 'Sur devis'; else
avant
echo $this->currencyClass->format(

C'est bien comme cela ?
j'ai joint une copie du fichier
merci .

<tr>
			<td colspan="<?php echo $row_count - 2; ?>" class="hikashop_cart_empty_footer"></td>
			<td id="hikashop_checkout_cart_coupon_title" class="hikashop_cart_coupon_title hikashop_cart_title"><?php
				echo JText::_('HIKASHOP_COUPON');
			?></td>
			<td class="hikashop_cart_coupon_value" data-title="<?php echo JText::_('HIKASHOP_COUPON'); ?>">
				<span class="hikashop_checkout_cart_coupon"><?php
					if($taxes == 0 || empty($this->options['price_with_tax']))
if($this->full_total->prices[0]->price_value_with_tax<0.001) echo 'Sur devis'; else 
						echo $this->currencyClass->format(@$cart->coupon->discount_value_without_tax * -1, @$cart->coupon->discount_currency_id);
					else
if($this->full_total->prices[0]->price_value_with_tax<0.001) echo 'Sur devis'; else 
						echo $this->currencyClass->format(@$cart->coupon->discount_value * -1, @$cart->coupon->discount_currency_id);
				?></span>
			</td>
		</tr>
<?php

Last edit: 7 years 5 months ago by Jerome. Reason: [code] tag is nice !!

Please Log in or Create an account to join the conversation.

  • Posts: 82868
  • Thank you received: 13378
  • MODERATOR
7 years 5 months ago #270911

Bonjour,

Il faut adapter le code à la situation bien sur.

Mon code était juste un exemple.

Par exemple, pour

echo $this->currencyClass->format(@$cart->coupon->discount_value_without_tax * -1, @$cart->coupon->discount_currency_id);
il faut remplacer
$this->full_total->prices[0]->price_value_with_tax
par
@$cart->coupon->discount_value_without_tax * -1

Please Log in or Create an account to join the conversation.

  • Posts: 22
  • Thank you received: 1
7 years 5 months ago #271187

Bonjour,
J'ai copié le code à modifier parce que n'arrive pas à trouvé ce que je doit remplacé et par quoi.
Et ou insérer le code suivant
if($this->full_total->prices[0]->price_value_with_tax<0.001) echo 'Sur devis'; else
Merci de votre patience Nicolas

echo $this->currencyClass->format(@$cart->total->prices[0]->price_value_with_tax,@$cart->total->prices[0]->price_currency_id);
echo $this->currencyClass->format(@$cart->total->prices[0]->price_value,@$cart->total->prices[0]->price_currency_id);
echo $this->currencyClass->format(@$cart->coupon->discount_value_without_tax * -1, @$cart->coupon->discount_currency_id);
echo $this->currencyClass->format(@$cart->coupon->discount_value * -1, @$cart->coupon->discount_currency_id);
echo $this->currencyClass->format($shipping_price, $cart->full_total->prices[0]->price_currency_id);
echo $this->currencyClass->format(@$additional->price_value_with_tax,$additional->price_currency_id);
echo $this->currencyClass->format(@$additional->price_value_with_tax,$additional->price_currency_id);
echo $this->currencyClass->format($tax->tax_amount, $cart->full_total->prices[0]->price_currency_id);
echo $this->currencyClass->format($taxes, $cart->full_total->prices[0]->price_currency_id);
echo $this->currencyClass->format(@$cart->payment->payment_price, $cart->full_total->prices[0]->price_currency_id);
echo $this->currencyClass->format(@$cart->payment->payment_price_with_tax, $cart->full_total->prices[0]->price_currency_id);
echo $this->currencyClass->format($cart->full_total->prices[0]->price_value_with_tax, $cart->full_total->prices[0]->price_currency_id);

Please Log in or Create an account to join the conversation.

  • Posts: 82868
  • Thank you received: 13378
  • MODERATOR
7 years 5 months ago #271191

Bonjour,

Il n'y a rien à remplacer.
Il faut rajouter :

if(@$cart->total->prices[0]->price_value_with_tax<0.001) echo 'Sur devis'; else
avant:
echo $this->currencyClass->format(@$cart->total->prices[0]->price_value_with_tax,@$cart->total->prices[0]->price_currency_id);
et rajouter:
if(@$cart->total->prices[0]->price_value<0.001) echo 'Sur devis'; else
avant:
echo $this->currencyClass->format(@$cart->total->prices[0]->price_value,@$cart->total->prices[0]->price_currency_id);
...etc...
Cela va faire déjà trois exemple que je vous fourni. Merci de faire appel à un développeur si vous n'y arrivez pas.

The following user(s) said Thank You: contact.singier@gmail.com

Please Log in or Create an account to join the conversation.

Time to create page: 0.070 seconds
Powered by Kunena Forum