You are here

function theme_signup_user_form in Signup 7

Same name and namespace in other branches
  1. 5.2 theme/signup.theme \theme_signup_user_form()
  2. 5 signup.theme \theme_signup_user_form()
  3. 6 theme/signup_form.inc \theme_signup_user_form()

Return the site-specific custom fields for the signup user form.

To customize this for your site, copy this entire function into your theme's template.php file, rename the function to THEMENAME_signup_user_form(), and modify to taste. Feel free to alter any elements in this section, remove them, or add any others.

WARNING: If your site allows anonymous signups and you alter the 'Name' field in this function, you will probably have to implement a version of theme_signup_anonymous_username() for your site.

In order for the form to be rendered properly and for the custom fields to be fully translatable when printed in other parts of the Signup module (displayed in signup lists, emails, etc), the name of the form element must be $form['signup_form_data']['NameOfDataField'], where NameOfDataField is replaced with the actual name of the data field. For translation to work, the displayed name of the field (the '#title' property) be the same as the name of the data field, but wrapped in t(). See below for examples.

Fieldsets are not currently supported in this form. Any '#default_value' will be filled in by default when the form is presented to the user. Any field marked '#required' must be filled in before the user can sign up.

If you do not want any additional fields, the function can simply return an empty array: "return array();"

Parameters

array $variables: An array of variables including:

  • 'node': The fully loaded node object where this signup form is appearing.

Return value

array Array defining the form to present to the user to signup for a node.

See also

theme_signup_anonymous_username()

2 theme calls to theme_signup_user_form()
signup_edit_form in includes/signup_edit_form.inc
Build the form for editing existing signups.
signup_form in includes/signup_form.inc
Build the user signup form.

File

theme/signup_form.inc, line 45
Site-specific code related to the form when users signup for a node.

Code

function theme_signup_user_form($variables) {
  $node = $variables['node'];
  global $user;
  $form = array();
  if (variable_get('signup_ignore_default_fields', 0)) {
    return $form;
  }

  // If this function is providing any extra fields at all, the following
  // line is required for form form to work -- DO NOT EDIT OR REMOVE.
  $form['signup_form_data']['#tree'] = TRUE;
  $form['signup_form_data']['Name'] = array(
    '#type' => 'textfield',
    '#title' => t('Name'),
    '#size' => 40,
    '#maxlength' => 64,
    '#required' => TRUE,
  );
  $form['signup_form_data']['Phone'] = array(
    '#type' => 'textfield',
    '#title' => t('Phone'),
    '#size' => 40,
    '#maxlength' => 64,
  );

  // If the user is logged in, fill in their name by default.
  if ($user->uid) {
    $form['signup_form_data']['Name']['#default_value'] = $user->name;
  }
  return $form;
}