Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 22-08-2010 08:52:08

lil-works
Membre
Date d'inscription: 10-09-2009
Messages: 40

Zend_Form_Element_File

Bonjour à tous...

Je cherche à personnaliser un élément File. Dans le formulaire, le fichier est une image je voudrais donc que dans le cas de la mise à jour, l'image (si elle existe) soit affichée... Cependant je n'arrive pas à récupérer le nom du fichier qui portant est transmit au $form->populate(array). Le $fileElement->getValue(); me retourne une chaine vide...

Bref je ne sais pas comment procéder.

Quelqu'un aurait-il des pistes?

Merci et bon dimanche

Hors ligne

 

#2 22-08-2010 11:22:17

Intiilapa
Membre
Date d'inscription: 03-02-2009
Messages: 95

Re: Zend_Form_Element_File

Ce n'est pas le but de l'élément file. Il sert à uploader des fichiers vers le serveur. Je ne vois pas pas pourquoi populate() aura une incidence sur cet élément. Zend_Form_Element_File::getValue() sert à donner le chemin d'accès complet à l'élément chargé. Il faut savoir que plusieurs méthodes de la classe Zend_Form_Element_File sont des proxys vers la classe Zend_File_Transfer_Adapter_Http. Quand tu veux étendre une classe du Zend Framework, je te recommande la lecture de son code, tu y trouveras des réponses.

Voici pourquoi ce que tu souhaiteras ne fonctionne pas de façon concrète en dehors de la sémantique que je viens de t'expliquer :

Code:

    /**
     * Disallow setting the value
     *
     * @param  mixed $value
     * @return Zend_Form_Element_File
     */
    public function setValue($value)
    {
        return $this;
    }

On peut traduire «Disallow setting the value» par «Refuser de définir la valeur».

Un autre axe de solution pour ce que tu souhaites faire, et de définir ton propre script de rendu. Si le fichier existe, tu l'affiches, si non tu affiches l'élément file.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages