PEAR Manual
Prev |  | Next

# HTML_QuickForm_Renderer_Array

HTML_QuickForm_Renderer_Array -- Array representation of the form

## Description

This renderer does not output anything itself, it returns the form structure as an array. This array can later be used for generating the output. A usage example is available for this renderer and Smarty template engine, look in `docs/renderers` directory.

The form array structure is the following:

    array(
      'frozen'           => 'whether the form is frozen',
      'javascript'       => 'javascript for client-side validation',
      'attributes'       => 'attributes for <form> tag',
      'requirednote      => 'note about the required elements',
      // if we set the option to collect hidden elements
      'hidden'           => 'collected html of all hidden elements',
      // if there were some validation errors:
      'errors' => array(
        '1st element name' => 'Error for the 1st element',
        ...
        'nth element name' => 'Error for the nth element'
      ),
      // if there are no headers in the form:
      'elements' => array(
        element_1,
        ...
        element_N
      )
      // if there are headers in the form:
      'sections' => array(
        array(
          'header'   => 'Header text for the first header',
          'name'     => 'Name of the first header',
          'elements' => array(
             element_1,
             ...
             element_K1
          )
        ),
        ...
        array(
          'header'   => 'Header text for the Mth header',
          'elements' => array(
             element_1,
             ...
             element_KM
          )
        )
      )
    );

where element_i is an array of the form:

    array(
      'name'      => 'element name',
      'value'     => 'element value',
      'type'      => 'type of the element',
      'frozen'    => 'whether element is frozen',
      'label'     => 'label for the element',
      'required'  => 'whether element is required',
      'error'     => 'error associated with the element',
      'style'     => 'some information about element style (e.g. for Smarty)',
      // if element is not a group
      'html'      => 'HTML for the element'
      // if element is a group
      'separator' => 'separator for group elements',
      'elements'  => array(
        element_1,
        ...
        element_N
      )
    );

> Tip: HTML_QuickForm::toArray() method uses the Array renderer internally.

Prev | Home | Next
HTML_QuickForm_Renderer_Default::toHtml() | Up | constructor HTML_QuickForm_Renderer_Array::HTML_QuickForm_Renderer_Array()