我剛剛開始與Symfony2。我不是不得不學習樹枝,而是決定在php中實現我的表單。我隨後在書的說明,具體如下:Symfony2 undefined變量形式
在控制器:
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>
當我嘗試顯示形式I獲取錯誤: 注意:未定義的變量editForm
據我所知,我完全按照他們在The Book。我試圖在動作和模板中用$ form替換$ editForm,或者在模板中用edit_form替換$ editForm - 不用說,這兩種工作都不起作用。
我非常感謝任何關於下一步我應該嘗試的建議(或者我可能不得不放棄自己學習樹枝,因爲至少對於這些說明似乎是正確的)。
可以嗎?請爲控制器和html添加完整的代碼。 –
在控制器中添加了editAction函數的所有代碼,並添加了模板的完整代碼 –
@richsage oops,抱歉 - 現在就完成了。不知道爲什麼我從來沒有注意到在 –