Acompte sur Paypal et Piéces jointes de mails

  • Posts: 6
  • Thank you received: 0
11 years 3 months ago #120768

-- url of the page with the problem -- : pas en ligne actuellement
-- HikaShop version -- :2.1.1
-- Joomla version -- :2.5.8
-- PHP version -- :?
-- Browser(s) name and version -- : Firefox 23.0.1

Bonjour,

je commence à bien me plaire avec Hikashop, ça répond vraiment à mes attentes, seul probléme et pas de petite taille (enfin pour moi) c'est que je me heurte à quelques problémes.

pour mon site, je souhaite permettre le paiement d'un accompte, or, je ne veux pas que cet accompte soit le prix du produit affiché sur le site. En fait je voudrais juste que le montant transmis à Paypal correspondent à 25% du montant total de la commande.
J'eusse eu trouvé un code qui me permettait de le faire du type amount * 0,25 ... mais une mise à jour mal préparée m'a fait perdre cette donnée et je suis incapable de me souvenir où je dois faire cette modification. Serait-il possible de m'aider dans cette quête ?

Autre petite envie, je souhaiterais mettre en piéce jointe du mail de création de commande la fiche du produit commandé (1 seul produit par commande)
or je pense que c'est jouable si je fixe des régles du type if product_id = 1 piéce jointe=url de la fichedu produit 1
le seul soucis c'est que je ne sais pas comment on définit cela dans le code, est-ce que je peux passer par la section"emails" pour faire cela ou pas ?

merci d'avance pour vos réponses toujours utiles,

bonne soirée,

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

  • Posts: 82906
  • Thank you received: 13378
  • MODERATOR
11 years 3 months ago #120881

Bonjour,

1. Si vous etes un développeur, l'idéal est de créer un plugin hikashop implémentant le trigger onAfterCartShippingLoad(&$cart) et de diviser $cart->full_total->prices[0]->price_value et $cart->full_total->prices[0]->price_value_with_tax par 4. Grace à cela, vous ne perdrez pas vos modifications lors des mises à jour.
Sinon, vous pouvez éditer administrator/components/com_hikashop/classes/cart.php et rajouter le code:

$cart->full_total->prices[0]->price_value = $cart->full_total->prices[0]->price_value/4;
$cart->full_total->prices[0]->price_value_with_tax = $cart->full_total->prices[0]->price_value_with_tax/4;
avant la ligne:
$dispatcher->trigger('onAfterCartShippingLoad', array( &$cart ) );

2. C'est en effet faisable en éditant l'email via le menu Système>Emails avec ce genre de code:
if($item->product_id==1){
 $this->mailer->AddAttachment('/chemin/absolu/du/fichier/sur/le/serveur');
}

The following user(s) said Thank You: fadelal

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

  • Posts: 6
  • Thank you received: 0
11 years 2 months ago #121124

Bonjour et merci pour les réponses,

pour le 1. je voudrais que l'information modifiée ne soit transmise que lors de l'envoi des infos à paypal.
en faite je voudrais que la désignation sur le site paypal devienne "Acompte Produit A" et que le montant à payer sur paypal soir égal à 25% du prix du produit A.
la solution doit se trouver au niveau du fichier du plugin paypal mais pour l'instant j'ai du mal à identifier l'endroit du code exat.

pour le 2. je vais tester la solution

comme je me suis pencher sur les mails automatiques j'ai également une petite requête.
je voudrais que le corps du mail de création soit différent en fonction de la formule choisit par le client.
les formules sont gérées via des variantes.

sans entrer trop dans le détails je voudrais que le corps du mail soit du type :

Bonjour mr le client,

vous avez commandé le produit 1 avec la formule A
pour rappel les préstations prévues dans la formule A sont les suivantes :
- Prestation 1
- Prestation 2
- etc ...


comme je géré les formules dans les variantes, je pense pouvoir l'identifier par les 2 dernier chiffres du champs order_product_code dans la table order_product.
en faisant une correspondance du type :
15 = Formule A
16 = Formule B
etc ... en plaçant une balise if reprenant ce critére je devrais pouvoir obtenir un résultat répondant à mes attentes. mais malgré mes tentatives ça ne fonctionne pas.

Merci d'avance pour votre aide .

Cordialement,

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

  • Posts: 82906
  • Thank you received: 13378
  • MODERATOR
11 years 2 months ago #121278

1. Alors en ce cas c'est en effet dans le fichier du plugin paypal qu'il faut faire votre modification. En supposant que l'option "send order details" du plugin paypal est désactivé comme c'est le cas par défaut, c'est cette ligne qu'il faut changer:

$vars['amount_1'] = round($order->cart->full_total->prices[0]->price_value_with_tax, (int)$this->currency->currency_locale['int_frac_digits']);

en:
$vars['amount_1'] = round($order->cart->full_total->prices[0]->price_value_with_tax/4, (int)$this->currency->currency_locale['int_frac_digits']);

2. Vous pouvez en effet faire cela avec order_product_code. Sans connaitre le code que vous avez utilisé, difficile d'en dire plus.

The following user(s) said Thank You: fadelal

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

  • Posts: 6
  • Thank you received: 0
11 years 2 months ago #121640

Bonsoir Nicolas,

merci pour la réponse,

la réponse 1 semble fonctionner et je t'en remercie.

pour la 2, je souhaiterais que le code apparaisse sous le tableau récapitulatif dans le mail de création pour lequel je n'ai pas changé le code.

cordialement,

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

  • Posts: 82906
  • Thank you received: 13378
  • MODERATOR
11 years 2 months ago #121774

Vous pouvez alors ajouter votre code juste avant:
<table width="100%" style="border: 1px solid #DDDDDD;font-family: Verdana, Arial, Helvetica, sans-serif;font-size:12px;">

Il faudra faire une boucle sur les produits genre:
<?php foreach($data->cart->products as $product){
if($product->order_product_code=='15'){
}else{
}
}
?>

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

Time to create page: 0.065 seconds
Powered by Kunena Forum