Tuesday 6 November 2012

Symfony propel file form widget editable

This is a simple editable file form widget:

If we have file_path field type varchar(255) in database, our widget will look like:

'file_path'        => new sfWidgetFormInputFileEditable(array('template' => '<div class="row file-editable-input">%input%</div><div class="row file-editable-remove"><ul class="inputs-list"><li><label>%delete%%delete_label%</label></li></ul></div><div class="row file-editable-img">%file%</div>',
        'file_src' =>  UPLOADS_DIR . $this->getObject()->getFilePath(),
        'is_image' => FALSE,
        'edit_mode' => TRUE,
        'delete_label' => __('Check this box if you want to remove current file'),
        'with_delete' => TRUE), array()),
And validator should look like:

'file_path' => new sfValidatorFile(array(
        'max_size' => Utils::getMaxUploadSize() * 1024 * 1024,
        'mime_types' => 'all_documents',
        'path' => UPLOADS_DIR,
        'required' => FALSE)),

And that's it. 'all_documents' is array of file extensions i creted in the validator file, along wit web_images and other. And off course your uploads dir must exist.

No comments:

Post a Comment