Skip to main content

Variable Vue Facture Invoice

More
3 years 6 months ago - 3 years 6 months ago #350395 by STEVENDU17
-- 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 :
Code:
<?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.
Last edit: 3 years 6 months ago by STEVENDU17.

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

More
3 years 6 months ago #350397 by nicolas
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
Code:
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.

More
3 years 6 months ago #350421 by STEVENDU17
Oups, désolé. Ca fonctionne parfaitement maintenant.

Merci beaucoup

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

More
3 years 6 months ago #350600 by STEVENDU17
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é :
Code:
<?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
Code:
<?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

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

More
3 years 6 months ago #350605 by nicolas
Bonjour,

Vos deux codes sont faux.
Faites ceci:
Code:
<?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.

More
3 years 6 months ago #350617 by STEVENDU17
Bonjour,

C'est OK, merci beaucoup Nicolas :)

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

Time to create page: 0.256 seconds
Powered by Kunena Forum