Bonjour,
j'ai un contrôleur Article qui contient les appels de fonctions de mes articles,et un contrôleur Commentaire et je veux appeler ce dernier dans le premier contrôleur pour ça j'ai fait

echo $this->Form->create('Commentaire', array('url'=>$this->Html->url(array('controller'=>'Commentaires', 'action'=>'add')))); ... $this->Form->end();

le problème et que la balise

<form >...</form>

ne 'affiche pas, pourtant les input que je crée sont bien corrects

9 réponses


Romano83
Réponse acceptée

C'est normal que les balises Form ne s'affichent pas au niveau des commentaires.
Tu as oublié de fermer le premier form où tu sélectionnes les villes ;)

Je reprends le sujet. Si je résumé
echo $this->Form->create('Commentaire', array('url'=>$this->Html->url(array('controller'=>'Commentaires', 'action'=>'add')))); ... $this->Form->end();

N'affiche rien ?

Déjà dans url tu peux mettre directement un tableaux
echo $this->Form->create('Commentaire', array( 'url'=> array('controller'=>'Commentaires', 'action'=>'add') ) );

Même sans $this->Form->end() avec cette fonction tu devrais au moins voir le <form method...

echo $this->Form->create('Commentaire', array('url'=>array('controller'=>'Commentaires', 'action'=>'add')));
echo $this->Form->input('article_id', array('type'=>'hidden','value'=>$article'Article']'id']));
echo "<div class='form-group'>";
echo $this->Form->input('nom',array("class"=>"form-control text-right",'label'=>':* nom'));
echo '</div>';
echo "<div class='form-group'>";
echo $this->Form->input('email',array("class"=>"form-control text-right",'label'=>':*email'));
echo '</div>';
echo "<div class='form-group'>";
echo "<label>:* commentaire</label>";
echo $this->Form->textarea('contenu',array("class"=>"form-control text-right",'rows'=>'6','maxlength'=>'1000',));
echo '</div>';
echo $this->Form->button("Envoye",array("class"=>"btn btn-primary","type"=>"submit"));
echo $this->Form->end();

toujours la balise form ne s'affiche pas je ne sais pas pourquoi ?

Favorise la synthax alternative, si t'es dans ton template

<?php echo '<p>'.$b ;?>
deviens...
<p><?= $b ?></p>

Voir: http://php.net//manual/fr/control-structures.alternative-syntax.php

MMh tu as l'url de la page en question pour que je puisse voir ton code HTML généré ? Parceque là je ne vois pas d'erreur niveau PHP cela devrait bien s'afficher.

est ce que le helper à été ajouter dans ton controller ?

si j'appel le meme code dans la vue Commentaires add.ctp sa marche mais ici dans le contrôleur article ça ne marche pas

Merci beaucoup Romano83 je ne sais pas comment j'ai fait pour oublié une telle chose mais bon j'avoue que je n'ai pas réfléchis a ça merci encore une fois :)