You are here

function theme_signup_user_form in Signup 5.2

Same name and namespace in other branches
  1. 5 signup.theme \theme_signup_user_form()
  2. 6 theme/signup_form.inc \theme_signup_user_form()
  3. 7 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 phptemplate_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_email_token_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

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

Return value

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

See also

theme_signup_email_token_anonymous_username()

1 theme call to theme_signup_user_form()
signup_form in ./signup.module
Builder function for the signup form

File

theme/signup.theme, line 53

Code

function theme_signup_user_form($node) {
  global $user;
  $form = array();

  // 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;
}