このレンダラは自分自身では何も出力せず、フォームの構造を配列で返します。 この配列は、後で出力を生成する際に使用されます。 このレンダラと Smarty テンプレートエンジンを使用した例が、 docs/renderers ディレクトリにあります。
フォームの配列は、以下のようになります。
array(
'frozen' => 'フォームが凍結されているかどうか',
'javascript' => 'クライアント側での検証用の javascript',
'attributes' => '<form> タグの属性',
'requirednote => '必須要素の注意書き',
// hidden 要素を収集するオプションを設定した場合
'hidden' => 'すべての hidden 要素を集めた html',
// 検証エラーがあった場合
'errors' => array(
'1st element name' => '最初の要素のエラー',
...
'nth element name' => 'n 番目の要素のエラー'
),
// フォームにヘッダがない場合
'elements' => array(
element_1,
...
element_N
)
// フォームにヘッダがある場合
'sections' => array(
array(
'header' => '最初のヘッダのテキスト',
'name' => '最初のヘッダの名前',
'elements' => array(
element_1,
...
element_K1
)
),
...
array(
'header' => 'M 番目のヘッダ',
'elements' => array(
element_1,
...
element_KM
)
)
)
); |
array(
'name' => '要素の名前',
'value' => '要素の値',
'type' => '要素の型',
'frozen' => '要素が凍結されているかどうか',
'label' => '要素のラベル',
'required' => '要素が必須かどうか',
'error' => '要素に関連するエラー',
'style' => '要素の型に関する情報 (例: Smarty)',
// グループでない要素の場合
'html' => '要素の HTML'
// 要素がグループである場合
'separator' => 'グループ要素のセパレータ',
'elements' => array(
element_1,
...
element_N
)
); |
ティップ HTML_QuickForm::toArray() メソッドは、Array レンダラを内部で使用しています。