blokkban node ID php-val

Szekeres_Juli képe

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: 
eMeLA képe

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.

0
0

...mit tudok: http://web.termuves.hu

pp képe

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:

<?php
  if (arg(0) == 'node' && is_numeric(arg(1))) {
    $node = node_load(arg(1));
    // ... ide jöhet a kód itt már biztos van $node.
  }
?>
0
0
Den képe

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.

0
0