J'utilise Zend_Form
pour un formulaire de demande en utilisant ce code:Ajouter espace réservé HTML dans Zend_Form
class Form_ApplicationForm extends Zend_Form
{
public function init()
{
$this->setAction('/application/new')
->setMethod('post')
->setAttrib('id','application');
$name = new Zend_Form_Element_Text('name');
$name->setLabel('Your Name')
->setRequired(TRUE)
->addValidator('alpha', FALSE, array('allowWhiteSpace' => true));
$email = new Zend_Form_Element_Text('email');
$email->setLabel('Email Address')
->setRequired(TRUE)
->addValidator('EmailAddress');
$this->addElements(array($name,$email));
}
}
J'ajoute un fichier flash Uploader (SWFUpload) à cette forme qui a besoin d'un code HTML pour être en lieu de travail, l'extrait ressemble à ceci:
<div id="swfupload-control">
<p>Upload upto 5 image files(jpg, png, gif), each having maximum size of 1MB(Use Ctrl/Shift to select multiple files)</p>
<input type="button" id="button" />
<p id="queuestatus" ></p>
<ol id="log"></ol>
</div>
Quelle est la meilleure façon d'insérer cette sorte qu'il se trouve quelque part dans le <form>
que je suis insérer dans mon contrôleur comme ceci:
public function newAction()
{
$form = new Form_ApplicationForm();
if($this->_request->isPost()){
$data = $_POST;
if($form->isValid($data)){
/// handle data here
}else{
$form->populate($data);
}
}
$this->view->form = $form;
}
Existe-t-il un moyen d'ajouter un espace réservé ou similaire au sein de Zend_Form
, ou devrait-il être fait avec un décorateur ou quelque chose comme ça?
Merci.
cela ressemble à une bonne solution, devra en savoir plus à ce sujet – robjmills
qui semble être la solution que je cherche, mais les exemples ne fournissent aucun contexte d'où les nouveaux fichiers doivent être placés. Y a-t-il un principe que je devrais suivre ici, c'est-à-dire un nouveau dossier dans le même répertoire que ZF lui-même? – robjmills
Eh bien, les noms de classe suivent la convention de nommage PEAR, donc vous placeriez l'élément ci-dessus dans My/Form/Element/SwfUpload et un My_Decorator_Something irait dans My/Decorator/Quelque chose – Gordon