Zugriff auf Commerce Order eigene Felder per php über content node template
am 30.01.2015 - 15:18 Uhr in
Hi Leute,
Ich stehe etwas aufm Schlauch wie ich an ein eigenes Feld in der Commerce Order zugreifen kann.
Ich habe einen Content Type Rechnungen, den ich nun mit nem get befehl zum Lieferschein nutzen werde. Der aufruf als PDF klappt.
So, jetzt ist es so, ich hab natürlich über den Node keinen Zugriff auf die Felder der Order.
Nachdem ich meinen Rules Code abgeklappert habe für eine Commerce Order Email habe ich folgenden Ansatz für den Aufruf über den Content Node:
<?php
$order = commerce_order_load($title);
$ausgabe=$order->commerce_order_total['und'][0]['data']['components'][0]['price']['amount'];
echo $ausgabe;
?>
Insgesamt klappt die Suche nach der richtigen Order und auch kann ich zu Testzwecken den Preis ausgeben(er ist jetzt unformatiert, aber es ging als Kontrolle ob ich die richtige Order zugreife). Der Title des Nodes entspricht immer der order id, daher ist das sehr angenehm.
Mein Feld heisst laut devel tool auf das ich von der order zugreifen will "['field_lot_cplus']" leider ist mir aber nicht schlüssig nach studieren der commerce api wie ich auf custom fields zugreifen kann.
Im Prinzip würde ich gerne wissen wie ich mit der "$ausgabe" von oben auf mein Custom Field komme oder muss ich das ganz anders, wird per commerce_order_load nicht alles geladen?
Freue mich über jeden Beitrag der mich weiterbringt :D
So, update:
Habe nun selbst etwas ausprobiert und ja, damit geht das. Einfach das devel module eingesetzt und in den node template dpm($order) gemacht, dann sah ich wie ich auf meine custom fields zugreifen kann und klappt :D
In meinem Fall lautet der Code dann:
<?php
$order = commerce_order_load($title);
dpm($order);
$ausgabe=$order->field_lot_cplus['und'][0]['value'];
echo $ausgabe;
?>
- Anmelden oder Registrieren um Kommentare zu schreiben
schau dir mit dmp(order$) die Struktur an
am 30.01.2015 - 15:49 Uhr
damit solltest du die Infos erhalten, die du brauchst.
Devel sollte dir eigentlich auch diese Daten zur Verfügung stellen.
Grüße
Ronald