views:

53

answers:

2

I would like to set some values in the node before actually writing the data to the DB. I already have it working by modifying book_nodeapi but I would like to do it from outside the code, some _alter option that allows me to leave the module code untouched would be great.

Thanks

+2  A: 

You can make a custom module and implement hook_nodeapi (mymodule_nodeapi) in it just as the book module does. Every active module gets a chance to hook into nodeapi for all nodes.

ceejayoz
+1 - this is the most flexible way to do this - you'd need to make your changes on the `presave` operation (the insert/update operations will be triggered only *after* the node has been saved to the database)
Henrik Opel
+1  A: 

If I understand what you need, Rules module can be very useful in such tasks. All you need to do is to create a condition according to the content type you want, and to have an action that sets the value. Setting the value can be done using static values, Token values, or even PHP code.

Here is a screencast with Rules basics.

Shushu
+1 - this is a somewhat less flexible way compared to ceejayoz suggestion of using `hook_nodeapi`, but might be enough for your needs and does not require custom code in a custom module.
Henrik Opel
Well, true.I read "I would like to do it from outside the code" and thought you really don't want to code...
Shushu

related questions