How do I update a node (book or Page) before saving it without touching the module code in Drupal?

316 Views Asked by At

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

There are 2 best solutions below

2
On BEST ANSWER

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.

1
On

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.