2011-07-08 3 views
1

J'utilise sfWidgetFormInputFileEditable pour télécharger des photos d'hôtels lorsque j'ajoute un nouvel hôtel depuis mon backend. Voici la description du widget:A propos de sfWidgetFormInputFileEditable

Le sfWidgetFormInputFileEditable est un widget fichier d'entrée, l'extension du widget sfWidgetFormInputFile ajouter la possibilité d'afficher ou supprimer un fichier précédemment téléchargé .

Option  Description 
file_src The current image web source path (required) 

Comme vous pouvez le voir le paramètre « file_src » est nécessaire, mais quand je crée un nouvel hôtel, je ne pas « chemin courant de source Web d'image » pour un nouvel hôtel ..

Que faire, créer une nouvelle classe basée sur sfWidgetFormInputFileEditable dont l'option "file_src" n'est pas requise? Que pensez-vous est une solution intelligente?

sf 1.4

Javi

Répondre

3

Ce paramètre est utilisé uniquement en mode d'édition ..., vous pouvez le remplir avec le chemin de l'image future, comme ceci:

$this->widgetSchema['cover'] = new sfWidgetFormInputFileEditable(array(
    'label'  => 'Company logo', 
    'file_src' => '/uploads/covers/'.$this->getObject()->getCover(), 
    'is_image' => true, 
    'edit_mode' => !$this->isNew(), 
    'template' => '<div>%file%<br />%input%<br />%delete% %delete_label%</div>', 
)); 

Regardez le paramètre edit_mode basé sur l'attribut de la forme isNew.