Een vraag over classes, objects en arrays :-)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Louis Deconinck

Louis Deconinck

31/07/2013 18:06:21
Quote Anchor link
Hallo iedereen

Ik ben bezig met woocommerce, een webshop plugin voor wordpress. Daar wil ik graag de verzendkosten weergeven. Echter op één of andere manier lukt het me niet om deze te echo'en, dit is mijn code (het belangrijke stuk:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if (isset($available_methods['awd_shipping'])) {

echo $available_methods['awd_shipping'];

}
else {

echo woocommerce_get_template( 'cart/shipping-methods.php', array( 'available_methods' => $available_methods ) );

}


?>


Hierbij krijg ik volgende error:

Catchable fatal error: Object of class could not be converted to string on line 4 (aangepast)

Als ik $available_methods['awd_shipping'] print_r doe, krijg ik volgende gegevens:
WC_Shipping_Rate Object ( [id] => awd_shipping [label] => Onder €50 [cost] => 2.99 [taxes] => Array ( ) [method_id] => awd_shipping )

Nu wil ik dus graag volgend element echo'en: [cost] => 2.99, hoe kan ik dit doen?

Verder maak ik ook nog gebruik van de AWD plugin en daarin staat het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
class awd_Shipping extends WC_Shipping_Method {
?>


De volledige plugin code kan je hier vinden: http://plugins.svn.wordpress.org/awd-weightcountry-shipping/trunk/shipping-awd.php

Alvast bedankt voor de hulp :-)
Louis
Gewijzigd op 31/07/2013 18:09:19 door Louis Deconinck
 
PHP hulp

PHP hulp

19/04/2024 02:46:14
 
- SanThe -

- SanThe -

31/07/2013 19:23:48
Quote Anchor link
echo $available_methods['awd_shipping']['cost'];
 
Frank Nietbelangrijk

Frank Nietbelangrijk

31/07/2013 19:35:59
Quote Anchor link
is het niet
echo $available_methods['awd_shipping']->cost;

omdat print_r zegt dat $available_methods['awd_shipping'] een object is?
 
Wouter J

Wouter J

31/07/2013 20:30:19
Quote Anchor link
ja, maar dan moet cost wel een public property zijn
 
Erwin H

Erwin H

31/07/2013 20:41:33
Quote Anchor link
Wat in dit geval zo is, omdat anders print_r er anders bijzet dat het property private is.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
class Test_Class{
  private $privProp = 'private';
  public $publProp = 'public';
}


$test = new Test_Class();

print_r($test);
?>

output:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Test_Class Object ( [privProp:Test_Class:private] => private [publProp] => public )
 
Louis Deconinck

Louis Deconinck

31/07/2013 21:04:11
Quote Anchor link
merci, ik had hetgeen van Santhe ook al gebprobeer en miljoenen andere combinaties, maar dat van frank werkte inderdaad, heel erg bedankt :-)
 



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.