How to get work the hook_form? I try to hook the node form by hook_form(), but I can't modify the base form.
I try to do this like below

function products_form($node, &amp;$form_state) {
  $type = node_type_get_type($node);

  $form['title'] = array(
    '#type' =&gt; 'textfield',
    '#title' =&gt; check_plain($type-&gt;title_label),
    '#default_value' =&gt; !empty($node-&gt;title) ? $node-&gt;title : '',
    '#required' =&gt; TRUE,
    '#weight' =&gt; -5,
  );
  return $form;
}


What's is wrong? My module name is 'products'.
hook_form() is only meant to be used by a module that provide content type:

This hook, implemented by node modules, is called to retrieve the form that is displayed to create or edit a node. This form is displayed at path node/add/[node type] or node/[node ID]/edit.

Emphasis mine.
It provides the form, and does not do alterations.
If you want to modify base form created by another module, you need hook_form_alter():

Perform alterations before a form is rendered.
One popular use of this hook is to add form elements to the node form. When altering a node form, the node object can be accessed at $form['#node'].

Again, emphasis mine.