node_load($nid) -> IE és FF3 vs FF2

Magus képe

Sziasztok!

Az egyik saját modulom egy érdekes problémát hozott elő.

Van a $nid változóban a Node ID, és betöltöm a $node = node_load($nid); core fg-el a node-ot, majd a print_r($node); eredménye mást ad FF és IE alatt.

Egészen pontosan nekem a $node->path kéne, de IE alatt (és FF3 alatt is) ez nem létezik. FF2 alatt ha kiíratom, akkor benne van az útvonal.

$node = node_load($nid);
print_r($node);

Találkozott már valaki hasonlóval, netán tudtok rá megoldást?

Köszönöm,
Mágus

hosszu.kalman képe

Szia!

Igen találkoztam már ezzel.

Próbál meg így szerintem:

<?php
$node->path = ($node_dst = db_fetch_object(db_query("SELECT dst FROM {url_alias} WHERE src = '%s'", "node/$node->nid"))) ? $node_dst->dst : "node/$node->nid";
?>

Remélem ez megoldja a gondodat, amúgy az oldalomon van erről szó.

0
0
aboros képe

szerintem ez felesleges gányolás...
core függvény: drupal_get_path_alias();
http://api.drupal.org/api/function/drupal_get_path_alias/6

pl:

$path = drupal_get_path_alias('node/42');
0
0

-
clear: both;

Magus képe

Működőnek tűnik, köszönöm!

0
0

- - - - -
Orseolo Magus
[email protected]

hosszu.kalman képe

Ezt a fgv-t nem ismertem...mostmár tudom

0
0
aboros képe

én is most találtam egy perc alatt...
megnyitottam a core path.module -t és kerestem benne olyat, hogy nid... és lám, ott használta ezt a fgv -t... nem értettem mire, de nem is érdekes, egyből api.drupal.org, megkeres fgv és láss csodát, ez kell nekem! :)

0
0

-
clear: both;

Magus képe

Érdeklene mellesleg, hogy az eredeti problémát mi okozza. Okozhat még hasonlót más esetekben is, netán más paramétereket se tölt be?
Miért műxik FF2 és miért nem FF3 és IE alatt?

Mágus

0
0

- - - - -
Orseolo Magus
[email protected]

pp képe

többet kéne tudni, mert ennek sefülesefarka. Hisz a php a szerver oldalon fut, tehát nem tud működni se FF-ben se IE-ben. Valamilyen adat nem megy át, de miért?

Tudsz példát mutatni, ami megy ff-ben de ie-ben nem?

pp

0
0
Magus képe

sajnos a teszt szerver (ami elérhető on-line) még nem működik, a belső hálózat meg nem érhető el kívülről...

De találtam egy cikket:
http://www.kalman-hosszu.com/druplal-5-ben-node-path-url-alias-eretke-ures/
lehetséges, hogy ez volt a hiba...

0
0

- - - - -
Orseolo Magus
[email protected]

pp képe

Ez minek... a hiba és hozzá a patch http://drupal.org/node/216404

egyébként meg url() vagy l() függvényt kell használni, ha egy node-ra mutató ulr vagy link kell.

Az eredeti kérdés megoldása pedig az, hogy az egyik böngészőben be voltál jelentkezve a másikon nem, ekkor pedig nem meglepő, ha más adatokat kapsz. ;)

Szóval miért kell ez??

pp

0
0
Magus képe

Köszi, egy fentebbi tipp megoldott a problémát, már csak az okára voltam kivi.
Az alap persze, hogy mást és másként lát egy admin és a guest, csak nem gondoltam volna, hogy a $node->path is csak admin privilégium, ebből volt a kavar.

Köszönöm mindenkinek a helpet!

0
0

- - - - -
Orseolo Magus
[email protected]

aboros képe

egyébként meg url() vagy l() függvényt kell használni, ha egy node-ra mutató ulr vagy link kell.

itt volt ám a lényeg!
amit írtam fgv, az is megadja neked az útvonalat, de mire is kell az? biztos valami linkre rakod nem? akkor meg l().. könnyebb ám segíteni, ha azt írod mi legyen a végeredmény, nem pedig azt, amit próbálsz, de nem megy.

0
0

-
clear: both;

Magus képe

Köszönöm, legközelebb mindkettőt leírom, hogy hol akadtam el, és hogy mit is akarok.
Erre nem gondoltam, mert úgy voltam vele, hogy megoldani helyettem úgy se fogja senki, max a nehézségeken tudtok (értds alatta: akartok) átlendíteni.

0
0

- - - - -
Orseolo Magus
[email protected]