omzetten prijs van 19.9 naar 19.90

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Daniel Feenstra

Daniel Feenstra

09/12/2014 14:29:03
Quote Anchor link
Goedendag,
Ik heb een script voor het doorgeven van productprijzen en info naar beslist.
De output van de code is kwa prijzen echter dat er soms maar 1 decimaal achter de . staat (als laatste cijfer 0 is) , soms 2 en soms wel 3 of 4 decimalen achter de .

Het bedrag moet echter altijd perse met 2 decimalen achter de . doorgegeven worden anders wordt het niet goed uitgelezen.

Wie kan me vertellen hoe het volgende stukje script aangepast kan worden zodat er altijd 2 cijfers achter de . komen te staan?
Ik heb verder helaas totaal geen verstand van php of programmeren.



// adding code for custom tracking code
add_action( 'woocommerce_thankyou', 'custom_tracking_pixel' );

function custom_tracking_pixel( $order_id ) {

// Lets grab the order
$order = new WC_Order( $order_id );

?>
<script>
var beslistQueue = [];
beslistQueue.push(['setShopId', 'SHOPID']); //shop id you can change it with the one which u have
beslistQueue.push(['cps', 'setTestmode', false]);
beslistQueue.push(['cps', 'setTransactionId', '
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $order->get_order_number(); ?>
']); // contains order #
beslistQueue.push(['cps', 'setOrdersum',
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $order->get_total(); ?>
]); // contains order total
beslistQueue.push(['cps', 'setOrderCosts',
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $order->get_total_shipping(); ?>
]); // contains shipping cost


beslistQueue.push(['cps', 'setOrderProducts',[
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
        //loop used for products data
        if ( sizeof( $order->get_items() ) > 0 ) :

            foreach( $order->get_items() as $item ) :
    
                    $_product     = apply_filters( 'woocommerce_order_item_product', $order->get_product_from_item( $item ), $item );
    
                    $item_meta    = new WC_Order_Item_Meta( $item['item_meta'] );
    
                    ?>


['
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_product->sku; //product sku as unique id ?>
',
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $item['qty']; // product qty ?>
,
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo round(($item['line_subtotal']+ $item['line_tax']),2); // line subtotal with taxes ?>
],
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
             endforeach;
            
        endif;

          ?>

]]);
beslistQueue.push(['cps', 'trackSale']);
(function () {
var ba = document.createElement('script');
ba.async = true;
ba.src = '//pt1.beslist.nl/pt.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ba, s);
})();


</script>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php
}
 
PHP hulp

PHP hulp

22/12/2024 02:08:17
 
- SanThe -

- SanThe -

09/12/2014 14:42:32
 
Daniel Feenstra

Daniel Feenstra

10/12/2014 07:17:31
Quote Anchor link
Hallo,
Bedankt voor je reactie. helaas echt een totale onbekende met programmeren en dus geen idee hoe ik dat in de code moet verwerken.
in de code geeft de volgende regel de productgegevens zoals sku, aantal en prijs weer:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_product->sku; //product sku as unique id ?>
',
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $item['qty']; // product qty ?>
,
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo round(($item['line_subtotal']+ $item['line_tax']),2); // line subtotal with taxes ?>
],

achter het deel van prijs staat al ,2 maar dat zorgt er niet voor dat er 2 decimalen getoond worden. Is die 2 dan ergens anders voor of staat het er verkeerd in?
 
Koen Hollander

Koen Hollander

10/12/2014 08:28:02
Quote Anchor link
Wat SanThe probeert uit te leggen, met de functie number_format kan je bepalen hoeveel decimalen je hebt.
Syntax: number_format($number,2)

De 2 staat voor het aantal decimalen
De $number staat voor het getal in kwestie.
 
Daniel Feenstra

Daniel Feenstra

10/12/2014 08:44:50
Quote Anchor link
Hallo Koen,
Ook jij bedankt voor je reactie.
Helaas dus geen idee hoe ik dat zou moeten invoegen. Ga wel even een programmeur zoeken om dit voor me te laten uitvoeren.
 
Eddy E

Eddy E

10/12/2014 08:57:22
Quote Anchor link
Zoek
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo round(($item['line_subtotal']+ $item['line_tax']),2); // line subtotal with taxes
?>


Vervang door:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo number_format(round(($item['line_subtotal']+ $item['line_tax']),2), 2); // line subtotal with taxes, with 2 decimals
?>
 
Daniel Feenstra

Daniel Feenstra

10/12/2014 10:05:02
Quote Anchor link
Bedankt!!!! zo te zien werkt het, kan ik de koppeling online gaan zetten:-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.