node referrer node reference

Dobrý den,

mám obsah typu „společnost“ (title, obsah, node reference) a „oddělení“ (title, obsah, node referrer).

Mám šablonu node-spolecnost.tpl.php Je v ní možné vypsat pole v tomto pořadí?
title (společnost)
title (oddělení)
obsah (společnost)
obsah (oddělení)

umím vypsat zvlášť pole společnosti, ale pole oddělení jsem schopen vypsat pouze jako jeden blok, nedaří se mi přistupovat k jednotlivým polím (field). Jde to nějak udělat? Mám použít jiný modul? Jaký? Díky.

Profile picture for user Jan Polzer

Dobrý den. Co Contemplate? Jinak, zkuste funkci PHP print_r(). Dá se ní dobře zjistit, co a kde se v daném poli nachází.

návštěvník

Contemplate vyzkouším. zkoušek lsem print_r($node), ale referovaný uzel je tam jen jako sloučený celek v jedné proměnné. Nedá se zvlášť přistoupit k title a body uzlu. Díky

Zkušel jsem toto http://drupal.org/project/nodereference_variables ale proměnné se mi nepodařilo získat. Modul jsem nainstalovat, dál nijak nekonfiguroval.

návštěvník

Ano, to tam je uloženo.

Asi budu muset referovaný uzel načíst pomocí views_embed_view('nazev_view', 'block', $nid), trochu jsem s tím experimentoval a celkem to funguje. Zobrazí to definovaný view. Jen by se mi líbilo, kdybych se dala načíst jednotlivá pole (field) referovaného uzlu do proměnné typu pole.

Nebo jste mi chtěl poradit něco jiného? Děkuji za pomoc.

Profile picture for user Jan Polzer

Já bych zkusil něco takového:

$my_nid = nid referovaneho uzlu;

$odkazovanyuzel = node_load('nid' => $my_nid);

No a tím budu mít celý referovaný uzel v $odkazovanyuzel, který si pomocí print_r prohlédnu a vypíšu z něj, co je potřeba.

návštěvník

Díky, načte to uzel přímo z databáze.

Našel jsem další funkce, se kterými se dá pracovat
http://api.drupal.org/api/drupal/modules--node--node.module/6

Používám modul imagechace. V administraci referovaného datového typu(Domů › Administrace › Správa obsahu › Typ Obsahu › Display Fields) jsem si nastavil, ať se fotografie změní na určitý rozměr.

Při načtení uzlu pomocí node_load() se však nastavení provedné v Display Fields neprojeví a obrázky jsou původního rozměru. Dá se načít uzel včetně nastavení Display Fields? Díky

$my_nid = nid referovaneho uzlu;
$odkazovanyuzel = node_load(array('nid' => $my_nid));
print_r($odkazovanyuzel);

Profile picture for user Jan Polzer

To s tím ImageCache bych neviděl jako problém. Pokud máte k dispozici odkaz na původní obrázek, pak stačí, když to doplníte o cestu ke složce ve tvaru ~imagecacheložka/profil-imagecache/původní-cesta a Drupal to pak automaticky upraví podle zvoleného profilu ImageCache. Díky tomu, že to funguje takto jednoduše, je možný ImageCache využívat prakticky všude.

návštěvník

Děkuji moc za konzultaci, poslední řešení funguje. Nakonec však vše načítám pomocí jednoho view.

Odpovědět

Obsah tohoto pole je soukromý a nebude veřejně zobrazen.

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Nové diskuze
Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru