- 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