CCK content_format

jdg képe

Sziasztok,

Friss drupal fejlesztőként (3-4 oldal) belefutottama következő problémába:

Adott egy content típus aminek van egy referencia mezője ami egy másik típushoz kapcsolódik értelemszerűen. Nevezzük az elsőt horoszkópnak, amihez kapcsolódik pedig legyen csillagjegy. A csillagyet szeretném hozzárendelni a horoszkóphoz.
A probléma a megjelenítésnél jelentkezik, ugyanis sok sok google után a következő funkcióval lettem okosabb:
content_format('field_zodiac', $field_zodiac[0], 'plain', $node)

Itt a 3. paraméret az érdekes, alapból "default" az az érték, ekkor kapok egy linket az adott node-ra kb ilyesmi formában:
<a href="link">title</a>

Ha "plain"-re állítom akkor megkapom a node címét. Kérdés az, hogy a node címén kívül hogy érem el a referencia node további paramétereit. Igazából a linkjére lenne szükségem, de persze hosszútávon elképzelhető, hogy másra is.

Ha kiíratom a $node -ot, ott látszik a $field_zociac, amiben nincs semmi csak a referencia node id-ja (nid). Valószínűleg hogy amikor a content_format 3. paramétere default, akkor valahol lefut egy query(?), amiből ő megkapja a linket és a címet.

Tehát a kérdés: hogyan tudom megkapni egy referencia node linkjét, esetleg más paraméterét?

Köszi előre is.

jdg

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
aboros képe

be tudod az alapján az egész nodeot tölteni már, a linkjéhez meg miért is nem elég az idje?
tegyük fel a field_zodiac -ban ott az id: 42.
akkor ez alapján már simán tudok linkelni arra a nodera, hiszen az urlje biztos, hogy node/42.
ha más adata is kell, akkor be lehet tölteni azt így:

$zodiac_id = $node->field_zodiac[0]['value'];
$zodiac_node = node_load($zodiac_id);

és hopp, máris ott van a $zodiac_node -ban az egész zodiac node object.
0
0

-
clear: both;

jdg képe

Sejtettem hogy ennyire triviális a megoldás, köszönöm!

0
0
jdg képe

Időközben találtam egy egyszerűbb megoldást ha csak az url-re van szükség és nem kell semmi más, ráadásul ennek előnye hogy nem node/id lesz a link hanem a hozzá tartozó alias (pl. ha pathauto csinálja az én esetemben):

$zodiacurl = url('node/'. $node->field_zodiac[0]['nid']);

Hátha kell majd valakinek később.

0
0
aboros képe

<?php
$zodiac_link = l('Csillagjegy megtekintése', 'node/' . $node->field_zodiac[0]['nid']);
?>

az url inkább akkor használatos, ha egy teljes elérési utat akarsz valamihez adni, base_path -ostul, mindenestül. "belső linkekre" inkább az l() használatos.

0
0

-
clear: both;