/** * Finds the snippet for a form field; can be overriden for customization * @param IFormField $field * @return TemplateSnippet Returns the associated snippet renderer */ protected function FindSnippet(IFormField $field) { if ($field instanceof Input && $field->GetType() == Input::TypeText) { return new FormFields\TextInputField($field); } if ($field instanceof Input && $field->GetType() == Input::TypeHidden) { return new FormFields\HiddenInputField($field); } if ($field instanceof Input && $field->GetType() == Input::TypeFile) { return new FormFields\FileInputField($field); } if ($field instanceof Custom) { return new FormFields\CustomField($field); } if ($field instanceof Select) { return new FormFields\SelectField($field); } if ($field instanceof Input && $field->GetType() == Input::TypePassword) { return new FormFields\TextInputField($field); } if ($field instanceof Textarea) { return new FormFields\TextareaField($field); } if ($field instanceof Checkbox) { return new FormFields\CheckboxField($field); } if ($field instanceof CheckList) { return new FormFields\CheckListField($field); } if ($field instanceof Submit) { return new FormFields\SubmitField($field); } }
/** * * @param FormInterfaces\IFormField $fieldProvider */ function AddField(FormInterfaces\IFormField $field) { $this->fields[$field->GetName()] = $field; }