[Zope-it] Re: Zope-it digest, Vol 1 #62 - 2 msgs

Fiore Basile fiore@noze.it
Wed, 28 Mar 2001 18:22:40 +0200


Ciao a tutti,

>
> salve a tutti!
>
> Ho questo problemino:
> ho creato una ZClass con diverse propriet=E0, che mi servono alla
> pubblicazione di diversi contenuti su una pagina.
> Tra le informazioni che dovrei pubblicare, c'e' anche un'immagine.
> Per ora, ho inserito la propriet=E0 del nome dell'immagine (string), non
> essendo riuscita a trovare un tipo "file" o "blob" o altro.
>
> La mia ZClass eredita solo da ZCatalog.
>
> Come posso fare ad uploadare l'immagine=3F=3F
>


Una buona idea potrebbe essere quella di creare una ZClass
che erediti da:

OFS:Image (la class immagine di zope)
CatalogAware (rende i tuoi oggetti ricercabili da parte di un ZCatalog con id 
Catalog, se esiste nel container)

nel form di creazione <nomeclass>addForm, modifica l'enctype  in modo che sia 
multipart/form-data e aggiungi un input di tipo file e name=file

nel costruttore (normalmente chiamato <nomeclasse>add)
all'interno del blocco

<dtml-with "<nomeclasse>.createInObjectManager(REQUEST['id'],REQUEST)">

......

</dtml-with>

inserisci una chiamata al metodo manage_upload ereditato da Image, ad es.

<dtml-call "manage_upload(REQUEST['file'],REQUEST)">

ed il gioco e' fatto.


se vuoi visualizzare l'immagine basta invocare il metodo Tag() sugli oggetti 
istanza della tua classe...


Forse e' un po' incasinato ma e' piu' facile a farsi che a dirsi :)

In ogni caso ti consiglio di realizzare questo tipo di classi in un prodotto 
in python, in modo da avere piu' controllo e gestire gli errori ..


Spero di essere stato d'aiuto

Fiore


-- 
-----------------------------------------------------------------------
    Fiore Basile                       Email  fiore@noze.it
    Area Sviluppo                      Web    http://www.noze.it 
    [ n o z e ]                        Tel    +39 (0)50 533320
    Soluzioni open-source              Fax    +39 (0)50 526604

          -=  "Whatever you like it to be, it will be"  =-
-----------------------------------------------------------------------