Ajax handle in component, how to pass changed entity to template
- SvvimX
- Member | 65
Hi,
I have component with form, where I need to edit entity, which has
picture.
class StoreItemForm extends BaseFormControl {
public function render () {
$id = $this -> presenter -> getParameter("id");
$this -> template -> entity = $this -> itemFacade -> getOneById( $id );
}
public function setDefaultsFromEntity ( BaseEntity $entity) {
$this ['form'] -> setDefaults ( array ( ... ) );
}
public function handleDeleteImage ( ) {
$id = $this -> presenter -> getParameter("id");
$entity = $this -> itemFacade -> getOneById( $id );
$this -> imageFacade -> deleteEntity( $entity -> thumb ); // this delete image, and also set thumb column of item to NULL, via annotation onDelete="SET NULL"
/** @fixme HOW TO PASS NEW ENTITY TO TEMPLATE */
$this -> template -> entity = $this -> itemFacade -> getOneById( $id );
$this -> redrawControl( "image" );
}
protected function createComponentForm ( $name = NULL ) {
$form = new BaseForm ( $this -> translator );
$form -> addUpload( 'image', "Image" );
...
}
}
So my question is in code: how to pass changed entity to template, cause now returning json for snippet is with old one – thumb is still there, when I reload page, new entity load correctly and no thumb is present
May be I miss something how ajax handle is done, like: does it call render on component, so why the new entity isn't load from database?
Thanks for help, and sorry for my english
Last edited by SvvimX (3. 5. 2014 23:52)
RSS feed
Topic closed