Variable Vue Facture Invoice

  • Posts: 50
  • Thank you received: 2
  • Hikamarket Multivendor Hikashop Multisite
1 year 3 weeks ago #350395

-- HikaShop version -- : 4.7.1
-- Joomla version -- : 4.2.9

Bonjour,

Suite à cette conversation ( www.hikashop.com/forum/checkout/904624-t...e-selon-produit.html ), j'ai ajouté la variable caution dans la vue order/invoice pour qu'elle apparaisse sur la caution.

J'ai constaté que le quand il y a une ligne de produit, la caution indiquée est la bonne mais quand une deuxième ligne de produit est mise , le calcul ne se fait pas correctement. (PJ).

Le code mis dans la vue Invoice est le suivant :

<?php
$total = 0;
$productClass = hikashop_get('class.product');
$productData = $productClass->get($product->product_id);
foreach($this->order->products as $i => $product) {
  if(!empty($productData->caution1)) $total += $product->order_product_quantity * $productData->caution1;
}
if($total) {
 echo "".$total." €";
}
?>

J'ai vérifié le champ Caution1 sur les produits et variables et ils sont bien sélectionnés sur les bons montants et la caution indiqué au passage en caisse est correcte.

Merci d'avance.

Attachments:
Last edit: 1 year 3 weeks ago by STEVENDU17.

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

  • Posts: 81509
  • Thank you received: 13064
  • MODERATOR
1 year 3 weeks ago #350397

Bonjour,

Le souci est que vous n'avez pas fait exactement ce que j'avais dit:

Au début du foreach il faut rajouter le chargement des données du produit:
$productClass = hikashop_get('class.product');
$productData = $productClass->get($product->product_id);

Vous avez rajouté le code AVANT le foreach au lieu d'au début du foreach (c'est à dire juste après la ligne
foreach($this->order->products as $i => $product) {
Et c'est cela qui fait que cela ne fonctionne pas correctement.

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

  • Posts: 50
  • Thank you received: 2
  • Hikamarket Multivendor Hikashop Multisite
1 year 3 weeks ago #350421

Oups, désolé. Ca fonctionne parfaitement maintenant.

Merci beaucoup

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

  • Posts: 50
  • Thank you received: 2
  • Hikamarket Multivendor Hikashop Multisite
1 year 2 weeks ago #350600

Bonjour,

Je reviens vers vous concernant la variable caution. Nous avons le même problème quand il y a deux lignes de produits, la caution se calcule mal.

Nous avons essayé :

<?php
$total = 0;
foreach ($data->cart->products as $i => $product)
$productClass = hikashop_get('class.product');
$productData = $productClass->get($product->product_id);
 {
  if(!empty($productData->caution1)) $total += $product->order_product_quantity * $productData->caution1;
}
if($total) {
 echo "".$total."€";
}

Ce qui donne un total de 6400 €

ou
<?php
$total = 0;
$productClass = hikashop_get('class.product');
$productData = $productClass->get($product->product_id);
foreach ($data->cart->products as $i => $product)
 {
  if(!empty($productData->caution1)) $total += $product->order_product_quantity * $productData->caution1;
}
if($total) {
 echo "".$total."€";
}
?>

qui nous donne 9600 €;

le total devrait être de 6480€.
J'ai repris l'ancienne conversation à ce sujet mais je reviens au même résultat.

Merci

Attachments:

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

  • Posts: 81509
  • Thank you received: 13064
  • MODERATOR
1 year 2 weeks ago #350605

Bonjour,

Vos deux codes sont faux.
Faites ceci:

<?php
$total = 0;
$productClass = hikashop_get('class.product');
foreach ($data->cart->products as $i => $product) {
$productData = $productClass->get($product->product_id);
  if(!empty($productData->caution1)) $total += $product->order_product_quantity * $productData->caution1;
}
if($total) {
 echo "".$total."€";
}
?>

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

  • Posts: 50
  • Thank you received: 2
  • Hikamarket Multivendor Hikashop Multisite
1 year 2 weeks ago #350617

Bonjour,

C'est OK, merci beaucoup Nicolas :)

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

Time to create page: 0.069 seconds
Powered by Kunena Forum