how do I create multiple modules that both add to the output of a node? We have a content type called "sales_order" which contains order data for online sales.

I have created a custom module that adds a form to the node that allows a user to generate shipping quotes. I do this by creating this function which adds my form to the node:

function mymodule_nodeapi(&amp;$node, $op, $a3 = NULL, $a4 = NULL) {

if ($node-&gt;type=='sales_order' || $node-&gt;type=='sales_orders')  {
    switch ($op)
    {
        case 'view':

            $form .= drupal_get_form('mymodule_form',$node-&gt;nid);
            $node-&gt;content['form'] = array
            (
                '#value' =&gt; $form,
            );
        break;
    }
}


This works great, but, now I want to add an additional form for another shipping provider. So I created a new module doing the same thing but when I enable both, it only outputs the form for the first module and not both?

I think I am misunderstanding how this is supposed to work. 

How should I get multiple custom modules to add content (a form) to a node?

PS I know I could easily integrate both providers into a single module but I would prefer to keep them separate for now.
If you're using $node-&gt;content['form'] for both modules, that would be why. Instead do $node-&gt;content['module1_form'] and $node-&gt;content['module2_form'].

This is because each function is getting passed the same node object and $node->content['form'] is being overwritten between the two modules.