私はちょうどSymfony2を使い始めています。私は小枝を学ばなくても、自分のフォームをPHPで実装することにしました。次のように私は、ブックの指示に従っ:symfony2形式の未定義変数
コントローラで:
public function editAction($id)
{
$em = $this->getDoctrine()->getEntityManager();
$entity = $em->getRepository('MyBundle:MyEntity')->find($id);
if (!$entity) {
throw $this->createNotFoundException('Unable to find MyEntity entity.');
}
$editForm = $this->createForm(new MyEntityType(), $entity);
$deleteForm = $this->createDeleteForm($id);
return $this->render('MyBundle:MyEntity:edit.html.php' array(
'entity' => $entity,
'edit_form' => $editForm->createView(),
'delete_form' => $deleteForm->createView()
));
}
とedit.html.phpで:
<form action="<?php echo $view['router']->generate('myentity_update', array('id'=>$entity->getId()))?>" method="post" <?php echo $view['form']->enctype($editForm) ?>>
<?php echo $view['form']->widget($editForm)?>
<p>
<button type="submit">Save Changes</button>
</p>
</form>
<ul class="record_actions">
<li>
<a href="<?php $view['router']->generate('myentity') ?>">
Back to the list
</a>
</li>
<li>
<form action="<?php $view['router']->generate('myentity_delete', array('id'=>$entity->getId())) ?>" method="post">
<?php echo $view['form']->widget($deleteForm)?>
<button type="submit">Delete</button>
</form>
</li>
私はフォームを表示しようとすると、エラーが発生します: Notice:未定義の変数editForm
私が知る限り、私は指示がThe Book。私は$ editFormを$ formと置き換えてみましたが、$ editFormをテンプレートのedit_formに置き換えてみました。
私は次に何を試してみるべきかについて非常に感謝しています(または、それについての指示が正しいと思われるので、私は小枝を学ぶために自分自身を辞さなければならないかもしれません)。
コントローラーとhtmlの両方に完全なコードを追加してください。 –
コントローラのeditAction関数のすべてのコードとテンプレートの完全コードを追加しました –
@richsage oops、申し訳ありません。なぜ私は答えの横に目盛りに気付かなかったのかわからない –