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
az id pont elég.
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:
és hopp, máris ott van a $zodiac_node -ban az egész zodiac node object.
-
clear: both;
köszi
Sejtettem hogy ennyire triviális a megoldás, köszönöm!
Csak url
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.
inkább az l() függvényt használjad
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.
-
clear: both;