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.