Drupal Commerce Order-object: verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
 
(4 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 1: Regel 1:
 +
[[file:20161226-1418.png|thumb|570px|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.
 
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.
  
Dit betreft functies die voornamelijk in ''commerce_order.module'' te vinden zijn: ''Defines the core Commerce order entity and API functions to manage orders and interact with them.
+
== Algemeen ==
File''
+
 
 +
=== Voorbeeld: Itereren door orderregels ===
 +
 
 +
* Afkomstig van [http://drupal.stackexchange.com/questions/23816/commerce-get-product-ids-from-order]
 +
* 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.
 +
 
 +
<pre>
 +
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  }
 +
</pre>
  
 
== Geselecteerde functies ==
 
== Geselecteerde functies ==
Regel 10: Regel 27:
 
* Load an order line by line item id - Handig, want in het order-oject staan alleen die line item id's vermeld
 
* 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''.
 
* 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) ===
 
=== commerce_order_load($order_id) ===

Huidige versie van 26 dec 2016 om 16:29

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