簡體   English   中英

如何僅使用一個zend表單創建添加-編輯功能?

[英]How to create add - edit functionality using just a single zend form?

我創建了一種擴展zend形式的形式。 對於添加新記錄,它可以正常工作。 但是我希望相同的表單可以用於更新記錄。 那么表單字段是否已設置為要編輯的記錄? 這種情況下的最佳做法是什么?

如果您想重復使用表單,則非常簡單:

  1. 不要將動作放入表單中,請在控制器中分配動作
    $form->setAction('/path'); (這也會覆蓋您在表單中設置的操作)

  2. 刪除當前目的不需要的任何表單元素,通常,添加表單將比更新表單多幾個元素。 $form->removeElement('elementName');

  3. 更改任何需要更改的標簽。 $form->submit->setLabel('Update');

  4. 用數據預填充表格。 $form->populate('dataArray');

然后像往常一樣處理表格。

使用數據庫中的數據填充控制器中的表單,但是如果提交了表單,則將使用來自用戶的$_POST數據填充該表單

$entityData = $model->getSomeEntity(); //and perhaps ->toArray() if applicable
$form->populate($entityData);

if ($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())) {
    $newData = $form->getValues();
    //$model->update($newData, ...);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM