hook_node_presave helyett?

szt képe

Sziasztok!
Szeretném egy mező értékét mentéskor automatikusan bemásolni egy másik mezőbe (ez a másik mező ráadásul köteleően kitöltendő).
Amikor már létezik a node, akkor pl. a hook_node_presave() függvénnyel ezt meg tudom csinálni a node update-kor, klasszul működik.
De ha új node készül, akkor ez a függvény nem hívódik meg.
Szóval a kérdés az, hogy hogy lehetne megoldani, hogy új node beküldésekor az egyik kitöltetlenül maradt mező megkapja egy másik értékét, és szépen elmentse a node-ot?
(a hook_node_insert-el probálkozok még, de egyelőre passz...)
Köszi előre is.

Drupal verzió: 
szantog képe

Valami ott nagyon nem jó, tekintve, hogy nincs új node node_save nélkül, márpedig abban ott a presave.

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

aruna képe

kellene lennie a hook_node_presave() fv.-nek.

Emellett, ha jó az ilyen megoldás is neked, akkor jQuery-vel is szinkronizálhatod két beviteli mező értékét:

http://stackoverflow.com/questions/8803416/jquery-sync-2-input-fields-ca...

1
0
szt képe

Talán azért, mert validálási hibát dob (a kötelező mező nincs kitöltve)?
Szóval ezért esetleg nem jut a presave-ig?
Vagy csúnyán tévedek...

0
0
szt képe

Hát hogy miért nincs presave, az még nyitott, de sikerült megoldanom a problémát: a hook_node_validate()-tal el lehet kapni még a mentés előtt a formot, és ott meg tudtam csinálni a szükséges változtatást.

1
0
aboros képe

elhasal az űrlap a validáláson (nincs kitöltve a kötelező mező) és ezért el se jutunk a node_save -ig. szerintem. de erről kéne kapnod hibaüzenet.

erről az jut eszembe, hogy lehet elegánsabb egy jól irányzott form alterrel intézni ezt, mint validatekor (vagy akár node savekor).

0
0

-
clear: both;

szt képe

Ezt lehet form alterrel?

Tehát a probléma:
- node/add/article
- ember kitölti a mezőket, kivéve egy kötelező mezőt, mert annak az értéke egy másik kitöltött mező értékét kapja majd meg a presave fgv-ben
- save, erre kapok egy hibaüzenetet, hogy a kötelező mező kitöltendő.

1. A presave-ig tényleg nem jut el, a validate-tal viszont át tudom az értéket másolni = nekem ez megoldás most, tudom, nem szép.
2. Ami viszont furcsa, hogy létező node szerkesztésekor eljut a presave-ig, szóval ott jó a presave-es megoldás.

A form alterest meg nem tudom, hogy lehet-e...

0
0
aboros képe

a form alter csak szerkesztéskor lesz oké. vagyhát illetve akkor se, most hogy így elgondolom. este van már bocs. :)

0
0

-
clear: both;