Probleme mit hook_nodeapi und hook_load
Eingetragen von rapsli (1500)
am 13.12.2008 - 10:59 Uhr in
am 13.12.2008 - 10:59 Uhr in
Ich stehe mal wieder an und weiss nicht warum. Hier die Voraussetzungen:
Ein Modul (ein eigener Inhaltstyp), dieses Modul fügt die zusätzlichen Daten über hook_load hinzu. Kein Problem.
Jetzt ein weiteres Modul, greift über hook_nodeapi den Node auf und fügt noch mehr Infos hinzu. Funktioniert auch, ABER die Veränderungen gehen verloren!
hook_load -> ok
hook_nodeapi (load) -> ok
hook_nodeapi (view) -> Daten, welche im Schritt vorher geladen wurden gehen verloren.
Ich weiss nur nicht, wo die wieder überschrieben werden, oder ob die in hook_nodeapi einfach nicht richtig gespeichert weren.?! Irgend welche Ideen?
- Anmelden oder Registrieren um Kommentare zu schreiben
Was ist mit den $op
am 13.12.2008 - 11:33 Uhr
Was ist mit den $op
"insert": The node is being created (inserted in the database).
"update": The node is being updated.
oder
"submit": The node passed validation and will soon be saved. Modules may use this to make changes to the node before it is saved to the database.
von hook_nodeapi?
-------------
quiptime
Organize Your Web. GbR coming soon.
Da geht noch was.
arg... kopf gegen die
am 13.12.2008 - 11:38 Uhr
arg... kopf gegen die Wand!
Man sollte mal die API lesen: The "load" operation should return an array containing pairs of fields => values to be merged into the node object.
Komisch aber eigentlich, da der node als Referenz (&$node) übergeben wird...?!?
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Re: arg... kopf gegen die
am 15.12.2008 - 12:11 Uhr
Komisch aber eigentlich, da der node als Referenz (&$node) übergeben wird...?!?
Ob ein Parameter per Referenz oder als Kopie übergeben wird, wird normalerweise von der Funktion bestimmt, die aufgerufen wird; nicht vom Aufrufer. Du musst die Funktion also selbst als
function example_nodeapi(&$node, $op, $a3=null, $a4=null);
definieren.Wenn ich das in meinen Modulen so mache, dann klappt's auch mit der Übernahme der Daten.
--
alles so gemacht und hat
am 15.12.2008 - 12:49 Uhr
alles so gemacht und hat bisher auch immer geklappt... aber easy ;) es geht.
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************