Commerce Order View verbinden mit Node/Content Type
am 22.05.2015 - 08:38 Uhr in
Hallo Drupalgemeinde,
Ich stehe vor einem kleinen Problem:
Ich habe eine Commerce Order View in der man per Link die Rechnung die als Content Type Rechnung existiert aufrufen kann. Der Titel der Rechnung entsprich der Order Nummer, daher konnte ich eine wunderbare Aufrufung mit einem individuellen Feld machen.
Früher habe ich noch rules genommen der dann beim Aufruf dieser Rechnung automatisch das pdf aufgerufen hat. Diese Rule musste ich aber aufgrund von einer neuen Funktion abschalten. Jetzt ist mein Problem, dass PDF Modul braucht die node ID zum Aufruf, leider aber habe ich in dieser View nur die order nummer die dem Titel der node entspricht. Ich bräuchte sozusagen die node id.
Ich frage mich wie ich in dieses Feld also statt der z.B. Rechnung (Beispiel: www.shop.de/rechungen/123) direkt das PDF an dieser Stelle einbinden könnte als Aufruf( www.shop.de/printpdf/nodeid)
Müsste ich ein Template für das Field schreiben und dann selbst die node id anhand der titles suchen(also ordernummer) oder gibt es einen eleganteren Weg mit Views an dieser Stelle? Habe diversen PDF Code aus den Manuals ausprobiert, aber der hat nicht den gewünschten Effekt gehabt).
Ich brauch also die node id von der Rechnung und das in der Commerce Order View.
- Anmelden oder Registrieren um Kommentare zu schreiben
http://drupal.stackexchange.c
am 22.05.2015 - 08:59 Uhr
http://drupal.stackexchange.com/questions/5955/how-to-load-a-node-based-...
Cool danke,den code hatte
am 22.05.2015 - 09:20 Uhr
Cool danke,
den code hatte ich versucht direkt in der View als php zu nutzen, aber irgendwie klappte der nie.
Ich hab ihn jetzt explizit für das field im template eingesetzt:
<?php
$query = new EntityFieldQuery();
$entities = $query->entityCondition('entity_type', 'node')
->propertyCondition('type', 'rechnungen')
->propertyCondition('title', $output)
->propertyCondition('status', 1)
->range(0,1)
->execute();
if (!empty($entities['node'])) {
$node = node_load(array_shift(array_keys($entities['node'])));
}
print ("<a href='https://www.shop.de/printpdf/".$node->nid."'>Rechnung</a>");
//print $output;
?>
Funktioniert 1a im field template, juhu :D