Node létrehozása után átirányítás nid-től függően

pp képe

A következő problémába ütköztem.

Emberünk létrehozza a node-ot, majd eljut a node megtekintésére(node/nid, pl.: node/3). De nekem nem ide kéne jutnom, hanem mondjuk masik/nid, pl.: masik/3 oldalra.
Ha form alterral átírom a redirect-et akkor ugye oda ugrik ahova akarom, csak éppen nem tudom még a nid-et, a nodeapi-ban meg ugye nem lenne szép dolog redirektelni.

Van valakinek ötlete?

pp
(egy ajaxos bizgenytűhöz kéne ;))

jodri2003 képe

A nid érték egy autoincrement mező a táblában.
SELECT max( nid ) FROM `node`
ezzel megkapod a legnagyobb értéket amit növelsz++. Akár az sql utasításba is beteheted.
Ha egyszerre több érték kerül éppen rögzítésre, akkor lehetnek gondjaid. Ennek a valószínűségét inkább te tudod. Szintén probléma, ha vannak meghiusult adatrögzítések, mert az autoincrement az értéket növeli , de a táblába nem kerül be az újabb sor, így lyuk keletkezik. Esetleg bővíthetsz az alábbi szerint:
ALTER TABLE `node` AUTO_INCREMENT = 6;
A 6 helyére az első SQL eredménye jön.
Remélem veszed valami hasznát.

0
0
pp képe

Köszi, de pont ez az amit el szeretnék kerülni.

A megoldás:
Ha kilövöm a redirectet, akkor meghívódik újra a form alter és a nodeapi hook is. A nodeapi-ból(insert) ki tudom nyerni a tartalmat, melyet eltárolok egy spec függvény statikus változójába. Ezután már csak át kell irányítani az oldalt, amihez meg kell találni azt a pontot, ami később hívódik meg mint a nodeapi. Szerencsére nálam ez azért kellett, mert egy iframe-t nyitottam, amibe benne volt a form, tehát egy ügyes kis js-el bezártam az iframe-t és már kész is vagyok. (ez a megoldás nem lenne tökéletes,ha nem egy js-el nyitott iframe-ben lennék. De mivel ott vagyok, ezért biztos le fog futni a bezáró js-is, hisz meg se nyílt volna, ha nem lenne ;))

pp

0
0