Exemple 47-1. Defining the elements
- <?php
-
- require_once 'HTML/Template/Flexy.php';
- require_once 'HTML/QuickForm.php';
- require_once 'HTML/QuickForm/Renderer/ObjectFlexy.php';
-
-
-
- $form = new HTML_QuickForm('form', 'POST');
-
-
- $form->addElement('header', 'personal', 'Personal Information');
-
- $form->addElement('text', 'email', 'Your email:');
- $form->addElement('password', 'pass', 'Your password:', 'size=10');
- $name['last'] = &HTML_QuickForm::createElement('text', 'first', 'First', 'size=10');
- $name['first'] = &HTML_QuickForm::createElement('text', 'last', 'Last', 'size=10');
- $form->addGroup($name, 'name', 'Name:', ', ');
- $areaCode = &HTML_QuickForm::createElement('text', '', null,'size=4 maxlength=3');
- $phoneNo1 = &HTML_QuickForm::createElement('text', '', null, 'size=4 maxlength=3');
- $phoneNo2 = &HTML_QuickForm::createElement('text', '', null, 'size=5 maxlength=4');
- $form->addGroup(array($areaCode, $phoneNo1, $phoneNo2), 'phone', 'Telephone:', '-');
-
-
- $form->addElement('header', 'company_info', 'Company Information');
-
- $form->addElement('text', 'company', 'Company:', 'size=20');
-
- $str[] = &HTML_QuickForm::createElement('text', '', null, 'size=20');
- $str[] = &HTML_QuickForm::createElement('text', '', null, 'size=20');
- $form->addGroup($str, 'street', 'Street:', '<br />');
-
- $addr['zip'] = &HTML_QuickForm::createElement('text', 'zip', 'Zip', 'size=6 maxlength=10');
- $addr['city'] = &HTML_QuickForm::createElement('text', 'city', 'City', 'size=15');
- $form->addGroup($addr, 'address', 'Zip, city:');
-
- $select = array('' => 'Please select...', 'AU' => 'Australia', 'FR' => 'France', 'DE' => 'Germany', 'IT' => 'Italy');
- $form->addElement('select', 'country', 'Country:', $select);
-
-
- $form->addElement('checkbox', 'news', '', " Check this box if you don't want to receive our newsletter.");
-
- $form->addElement('reset', 'reset', 'Reset');
- $form->addElement('submit', 'submit', 'Register');
-
- if ($form->validate()) {
-
- $form->freeze();
- }
-
- $options = &PEAR::getStaticProperty('HTML_Template_Flexy','options');
- $options = array(
- 'templateDir' => './templates',
- 'compileDir' => './templates/build',
- 'forceCompile' => 1,
- 'debug' => 0,
- 'local' => 'en'
- );
-
- $template = new HTML_Template_Flexy($options);
-
- $renderer =& new HTML_QuickForm_Renderer_ObjectFlexy($template);
- $renderer->setLabelTemplate("label.html");
- $renderer->setHtmlTemplate("html.html");
-
- $form->accept($renderer);
-
- $view = new StdClass;
- $view->form = $renderer->toObject();
-
- $template->compile("flexy-static.html");
- $template->outputObject($view);
-
-
- ?>
|