- 1
[Opened] [Résolu]Affichage d'un formulaire avec jforms
Posted by Melimelo on 11/21/2008 11:24
Bonjour à tous,
Alors j'ai un problème avec un formulaire, php me retourne une erreur fatal
Fatal error: Call to a member function getBuilder() on a non-object in C:\Program Files\wamp\www\Jelix\temp\test\compiled\templates\modules\formulaire\indexform_html_t.php on line 16
J'ai cherché sur le forum mes les réponses que j'ai trouvée ne me permette pas de corriger cette erreur.
Donc ci-joint mon formulaire testform.fom.xml :
<?xml version="1.0" encoding="utf-8"?>
<form xmlns="http://jelix.org/ns/forms/1.0">
<input ref="name">
<label type="string" required="true"/>
<hint>Saisissez votre nom.</hint>
<alert type="required">Ce champs est obligatoire</alert>
<alert type="invalid">Votre ne nom ne peut contenir que des caractères alphabètiques</alert>
</input>
<submit ref="submit">
<label>Valider</label>
</submit>
<reset ref="reinit">
<label>Réinitialiser</label>
</reset>
</form>
Ensuite mon template indexform.tpl :
{form $form, 'test~default:save'}
<fieldset><legend>Saisissez : </legend>
{formcontrols}
<p> {ctrl_label} : {ctrl_control} </p>
{/formcontrols}
</fieldset>
<div>{formreset}{formsubmit}</div>
{/form}
Et enfin pour finir mon controller
function index() {
$rep = $this->getResponse('html');
$rep->title = 'Essai d\'un formulaire';
$rep->bodyTpl = 'indexform';
$form = jForms::get('formulaire~testform');
if (!$form)
{
$form = jForms::create('formulaire~testform');
}
return $rep;
}
Donc je début avec jelix, et je n'ai pas trouvé la solution dans le manuel ou le tutoriel.
Merci d'avance.
Cordialement Melimelo
[Opened] Re: Affichage d'un formulaire avec jforms
Posted by laurentj on 11/21/2008 11:36
Comme je t'ai dit par mail, il faut que tu déclare ton formulaire dans ton template. Parce que là, tu déclare une variable $form, mais tu n'en fais rien du tout dans ton controleur.
$rep->body->assign('form', $form);
Tout est dans le manuel pourtant...
[Opened] Re: Affichage d'un formulaire avec jforms
Posted by Melimelo on 11/21/2008 11:43
Merci beaucoup.
ps: j'ai répondu au mail je savais pas ce que ca voulait dire :'(
- 1

