Felder einer referenzierten Node ausgeben
am 23.05.2011 - 17:11 Uhr in
hallo zusammen,
ich habe ein problem mit der ausgabe von cck feldern die zu einer referenzierten node gehören.
als beispiel:
in einem inhaltstyp "event" habe ich ein node reference feld. die referenzierte node vom typ "seminar" hat ein cck feld:
$node->field_vorbereitung[0]['view']
nun möchte ich meinem template node-event.tpl.php dieses feld ausgeben, weiß aber nicht wie ich das am sinnvollsten mache.
ich denke ich werde die php anweisung <?php print $node->field_vorbereitung[0]['view'] ?>
erweitern müßen, damit das system weiß von welcher node das feld kommt.
vielleicht kann mir jemand sagen wie ich meine ausgabe erweitern muß, damit ich das passende feld ausgegeben bekomme, bzw. ob ich überhaupt auf dem richtigen weg bin?
vg,
jokas
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn Du das im
am 23.05.2011 - 18:04 Uhr
Wenn Du das im Node-typ.tpl.php machen willst, mußt Du wohl mit node_load(nid) den referenzierten Node erst in eine eigene Variable laden, bevor Du auf seine Inhalte zugreifen kannst. Das macht man aber meistens nicht im Template-File, sondern über eine Preprocess-Funktion (themename_preprocess_node) in der Datei template.php in Deinem Theme. Dann gibst Du den gewünschten Inhaly gleich in eine eigene Variable und kannst Dann im Template-File darauf zugreifen. Auf diese Weise bleibt der Template-File übersichtlicher.
Beste Grüße
Werner
super danke! ich hab es jetzt
am 23.05.2011 - 18:19 Uhr
super danke!
ich hab es jetzt so direkt im template gelöst:
//Inhalte der referenzierten Nodes laden:
foreach($node->field_ort as $key => $value){$ref_node0 = node_load($value['nid']);}
foreach($node->field_extra as $key => $value){$ref_node1 = node_load($value['nid']);}
//Felder ausgeben:
<?php print $ref_node0->field_city[0]['value'] ?>
<?php print $ref_node1->field_items[0]['value'] ?>
klappt wunderbar. :-)