I'm glad you asked trying to answer this has made me realize I didn't really understand it. Basically, under 4.7: * node_form() detects you clicked the preview button and adds an #after_build to the form which will call node_form_add_preview() * node_form_add_preview() converts the posted form values to an object and... * ...the object is passed to the validate hooks (both the node's and nodeapi's) * if no errors were found while validating, node_preview() makes a copy of the object/node, setting $node->in_preview (so you can tell it's for previewing later in the process) * preview copy is rendered using a node_preview theme call (so you can override it). * in the theme_node_preview(), node_view() is called which gets the node ready for viewing... * ...and then passes the preview copy to the view hooks (both the node's and nodeapi's) * the completed preview node is finally rendered with a call to the node theme. I think it's worth pointing out that the preview copy isn't a proper node like you'd get back from node_load() as it's missing any fields provided by hook_nodeapi('load'). I hope this helps. I've probably messed something up but I'm sure someone will correct me. andrew On 12/7/05, Fabio Varesano <fabio.varesano@gmail.com> wrote:
Hi everybody!
I'm trying to understand how node previews (during editing) works under drupal.
Are there hooks for this?
I saw node.module uses _preview() but didn't find any docs on using it.
Does someone know how to do this?
Thanks
Fabio