Létrehoztam egy blokkot, ahová egy Facebook like gombot is tervezek tenni. Ahhoz, hogy az adott oldalra vonatkozzon a lájk, a következő kódot írtam még bele:
/node/<?php print $node->nid; ?>
Beviteli forma php kód, ürítettem mindent, amiről tudok, hogy üríteni lehet (admin menü bal felső + /admin/build/themes), de továbbra sem jelenik meg a node ID a forráskódban.
Hogy a problémát leszűkítsem, lértehoztam egy blokkot, amiben csak a fenti kód szerepel - ott sem jelenik meg a node ID.
Mit csináltam rosszul?
Drupal verzió:
Fórum:
Gondolj bele. Van a ?q=node
Gondolj bele. Van a ?q=node oldal, ahol van mondjuk 10 db node. Szerintem a $node->nid melyik node-nak az id-jét adja vissza ?
Próbáld kilistázni a $node tömböt print_r($node); nem fogsz találni semmit.
...mit tudok: http://web.termuves.hu
valószínűleg nincs ilyen
valószínűleg nincs ilyen változód.
próbáld ki ezt:
print_r(get_defined_vars());
Ez kiírja neked, hogy milyen változók vannak éppen elérhetőek.
javasolt inkább a jólbevált:
Palócz István
https://palocz.hu | https://tanarurkerem.hu
A blokk nem tudja
A blokk nem tudja, hogy melyik oldalon van éppen…
A blokknál ezért nincs is $node változó.
Az argumentumok kezelését nézd át:
http://api.drupal.org/api/drupal/includes--path.inc/function/arg/6
Illetve, ha használsz path aliasokat, akkor http://api.drupal.org/api/drupal/includes--path.inc/function/drupal_get_... - ezzel a node/x -hoz megkapod az aliasát.
A nem node oldalaknál (views, pl) kell trükközni kicsit.
--
Szabó Dénes - Internode.hu - Munkára fogott weblapok