Drupal Commerce Order-object

Uit De Vliegende Brigade
Versie door Jeroen Strompf (overleg | bijdragen) op 26 dec 2016 om 16:29 (→‎Geselecteerde functies)
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Naar navigatie springen Naar zoeken springen
Voorbeeld van een order-object. Sommige onderdelen zijn één laag uitgeklapt

In Drupal Commerce kun je een order benaderen via het $order-object. Maar hoe kom je bij de verschillende onderdelen van zo'n order? Ik denk niet dat het de bedoeling is dat je zelf eindeloos gaat pielen om de data uit zo'n object te krijgen.

Algemeen

Voorbeeld: Itereren door orderregels

  • Afkomstig van [1]
  • In regel 3 wordt een property rechtstreeks benaderd, dus zonder API-call, en dat gaat prima
  • In regel 4 wordt vervolgens wel een API-call gebruikt
  • In regel 5 wordt weer rechtstreeks een property benaderd.
1   $orders = commerce_order_load_multiple(array(), array('status' => 'pending'), TRUE);
2   foreach($orders as $order) {
3     foreach ($order->commerce_line_items['und'] as $line) {
4       $line_item = commerce_line_item_load($line['line_item_id']);
5       $product_id = $line_item->commerce_product['und']...
6     }
7   }

Geselecteerde functies

commerce_line_item_load($line_item_id)

  • Load an order line by line item id - Handig, want in het order-oject staan alleen die line item id's vermeld
  • Onderdeel van module commerce_line_item.module.

commerce_customer_profile_load($profile_id)

Bv.:

$profile = commerce_customer_profile_load($profile_id);
$profile = commerce_customer_profile_load($order->commerce_customer_shipping['und']['0']['profile_id']);

commerce_order_load($order_id)

order$ = commerce_order_load($order_id)

commerce_order_load_by_number($order_number)

Geen idee wat een order-nummer is, maar het kan:

commerce_order_load_by_number($order_number)

Overige functies

  • commerce_order_get_properties - ?
  • $order_status = commerce_order_status_load($order->status) - Naam van een orderstatus [2]

Bronnen

Algemeen

Line items