You are here

function subform_example_multiple_nodes in Subform 7

Form builder; Multiple nodes.

1 string reference to 'subform_example_multiple_nodes'
subform_example_menu in ./subform_example.module
Implements hook_menu().

File

./subform_example.module, line 279

Code

function subform_example_multiple_nodes($form, &$form_state) {
  global $user;
  $node = (object) array(
    'uid' => $user->uid,
    'name' => isset($user->name) ? $user->name : '',
    'type' => 'article',
    'language' => LANGUAGE_NONE,
  );
  $form['nodes'] = array(
    '#tree' => TRUE,
  );
  for ($i = 0; $i < 2; $i++) {
    $subform_state =& subform_get_state('subform-nodes-' . $i, $form_state);
    $form['nodes'][$i] = array(
      '#type' => 'subform',
      '#subform_id' => 'node_form',
      '#subform_file' => array(
        'module' => 'node',
        'name' => 'node.pages',
      ),
      '#subform_arguments' => array(
        clone $node,
      ),
      '#subform_default_triggering_element' => array(
        'actions',
        'submit',
      ),
      '#required' => FALSE,
    );
  }
  $form['actions'] = array(
    '#type' => 'actions',
  );
  $form['actions']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save all'),
    '#weight' => 40,
    '#subform_triggering_element' => array(
      'node_form' => array(
        'actions',
        'submit',
      ),
    ),
    '#submit' => array(
      'subform_submit_all',
    ),
  );
  $form['actions']['preview'] = array(
    '#type' => 'submit',
    '#value' => t('Preview all'),
    '#weight' => 40,
    '#subform_triggering_element' => array(
      'node_form' => array(
        'actions',
        'preview',
      ),
    ),
    '#submit' => array(
      'subform_submit_all',
    ),
  );
  return $form;
}