Dawid Brzeziński !Hola
Temat: edycja formularzy
witam,Mam formularz razem z polami gdzie wrzucam fotki,
podczas edycji wypełnia mi cały formularz danymi oprócz pól z fotkami,
jak robie update to mi w bazie gumuje pola z fotkami.
Jeśli nie chcę fotek zmieniać to chciał bym aby ich nie zmieniał jeśli nie wrzucę nowych.
Jak to ustawić podczas edycji formularza?
tu mam funkcję z kontrolera do wyświetlania edycji formularza
public function cateditAction(){
$id = $this->getRequest()->getParam('id');
$DbTable = new Application_Model_DbTable_Category();
$obj = $DbTable->find($id)->current();
if(!$obj){
throw new Zend_Controller_Action_Exception('Błędny adres!', 404);
}
$this->view->form = new Application_Form_catadd();
$this->view->form->populate($obj->toArray());
$url = $this->view->url(array('action' => 'updatecat', 'id' => $id));
$this->view->form->setAction($url);
$this->view->object = $obj;
}
oraz sam update
public function updatecatAction(){
$id = $this->getRequest()->getParam('id');
$DbTable = new Application_Model_DbTable_Category();
$obj = $DbTable->find($id)->current();
if(!$obj){
throw new Zend_Controller_Action_Exception('Błędny adres!', 404);
}
if($this->getRequest()->isPost()){
$form = new Application_Form_catadd();
if($form->isValid($this->getRequest()->getPost())){
$data = $form->getValues();
$obj->setFromArray($data);
$obj->save();
return $this->_helper->redirector(
'categorylist', 'index', null, array('id' => $id)
);
}
$this->view->form = $form;
}
else{
throw new Zend_Controller_Action_Exception('Błędny adres!', 404);
}
}
Jeszcze jedno pytanie:
w pliku formularza wyświetlam kontrolkę do wrzucania fotek:
$kontrolka = new Zend_Form_Element_File('foto1', array(
'label' => 'News Bild:',
'required' => false,
'destination' => realpath(APPLICATION_PATH . '/../public/upload'),
));
$this->addElement($kontrolka);
Mam problem z tym required - false
nie wiem co tam źle robie, ale to mi nie działa i formularz wywala mi błąd ze nie załadowałem pliku i jest wymagany. A nie chcę zeby był obowiązkowy.Dawid Brzeziński edytował(a) ten post dnia 23.04.13 o godzinie 18:18