a mio stesso suffragio riporto le prime righe di definizione dell'ImageField in Products.ATContentType/content/image.py<br />ATImageSchema = ATContentTypeSchema.copy() + Schema((<br />    ImageField('image',<br />               required=True,<br />               primary=True,<br />               languageIndependent=True,<br />               storage = AnnotationStorage(migrate=True),<br />....<br /><br />bye<br /><br /><br />Il giorno , sauzher@gmail.com ha scritto:<br />> credo che il problema sia nell'AnnotationStorage... ci dovrebbe esser un parametro tipo migrate=True che mi ha risolto qualche rogna in passato circa il trattamento di dati binari. Vedi un po' come ti va :)<br />> <br />> alessandro.<br />> <br />> Il giorno , Sandro Caneschi caneschi@htt.it> ha scritto:<br />> > Fabrizio grazie per la risposta, però avrei bisogno di fare un lavoro un po' più di "fino": ho bisogno di aggiungere il campo immagine solo al tipo eventi e non a qualsiasi oggetto di plone.<br />> > <br />> > <br />> > <br />> > Avrei già pronto un nuovo content-type evento che funziona correttamente, il problema è che in questo modo mi si creano 2 tipi che hanno la stessa funzionalità e inoltre avendo oggetti da importare preserverei tutta lo storico.<br />> > <br />> > <br />> > <br />> > <br />> > Avendo già necessità di utilizzare schemaextender aveva pensato di usarlo anche per questa cosa e in realtà penso di essere abbastanza vicino alla soluzione...<br />> > <br />> > <br />> > Se qualcuno c'è già passato, per favore si faccia avanti.<br />> > <br />> > <br />> > <br />> > <br />> > Grazie<br />> > <br />> > <br />> > Il giorno 14 giugno 2011 21:31, Fabrizio Rota fabrizio.rota@gmail.com> ha scritto:<br />> > <br />> > <br />> > Il prodotto collective leadimage può risparmiarti parecchia fatica: funziona bene ed esiste per plone 2, 3, 4.Mi senti di consigliartelo.<br />> > <br />> > <br />> > <br />> > <br />> > a presto<br />> > <br />> > Il giorno 14 giugno 2011 16:51, Sandro Caneschi caneschi@htt.it> ha scritto:<br />> > <br />> > <br />> > <br />> > <br />> > Vorrei utilizzare SchemaExtender per aggiungere un'immagine con relativa didascalia all'oggetto Event.<br />> > <br />> > <br />> > <br />> > <br />> > L'aggiunta dei campi va a buon fine, ma ho dei problemi nella visualizzazione dell'immagine.<br />> > <br />> > <br />> > <br />> > <br />> > In pratica riesco ad inserire l'immagine, ma se torno in edit l'immagine non viene visualizzata, al suo posto c'è un riquadro delle stesse proporzioni dell'immagine inserita ma non è possibile visualizzarla.<br />> > <br />> > <br />> > <br />> > <br />> > <br />> > Ho provato anche all'indirizzo /image e /image_thumb ma niente.<br />> > <br />> > <br />> > Ho pensato che la classe necessitasse di un traverse ma non ha funzionato... sembra che la ignori.<br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > Potete aiutarmi?<br />> > <br />> > <br />> > <br />> > <br />> > Metto qui sotto un po' di codice relativo al campo Image che ho messo in extender.py:<br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > class ExtensionImageField(ExtensionField, ImageField): pass<br />> > <br />> > <br />> > image = ExtensionImageField(<br />> >                                                   'image',<br />> > <br />> > <br />> >                                                       required = False,<br />> >                                                  storage=AnnotationStorage(),<br />> >                                                       widget=ImageWidget(<br />> > <br />> > <br />> > <br />> > <br />> > <br />> >                                                          label="Immagine",<br />> >                                                                description="Inserisci un'immagine relativa all'evento",<br />> > <br />> > <br />> > <br />> > <br />> > <br />> >                                                   ),<br />> >                                                         validators=('isNonEmptyFile'),<br />> >                                                     languageIndependent = True,<br />> > <br />> > <br />> > <br />> > <br />> > <br />> >                                                  sizes= {'large'   : (768, 768),<br />> >                                                                    'preview' : (400, 400),<br />> > <br />> > <br />> >                                                                        'mini'    : (200, 200),<br />> >                                                                    'thumb'   : (128, 128),<br />> > <br />> > <br />> >                                                                        'tile'    :  (64, 64),<br />> >                                                                     'icon'    :  (32, 32),<br />> > <br />> > <br />> >                                                                         'listing' :  (16, 16),<br />> >                                                                },<br />> >                                              )<br />> > <br />> > <br />> > <br />> > <br />> > <br />> > class ATEventExtender(ContentExtender):<br />> >     adapts(IATEvent)<br />> >     fields = ContentExtender.fields + [image]<br />> > <br />> > <br />> >     def __bobo_traverse__(self, REQUEST, name):<br />> > <br />> > <br />> > <br />> > <br />> > <br />> >         """Transparent access to image scales<br />> >         """<br />> >         if name.startswith('image'):<br />> >             field = self.getField('image')<br />> > <br />> > <br />> > <br />> > <br />> > <br />> >             image = None<br />> >             if name == 'image':<br />> >                 image = field.getScale(self)<br />> >             else:<br />> >                 scalename = name[len('image_'):]<br />> > <br />> > <br />> > <br />> > <br />> > <br />> >                 if scalename in field.getAvailableSizes(self):<br />> >                     image = field.getScale(self, scale=scalename)<br />> >             if image is not None and not isinstance(image, basestring):<br />> > <br />> > <br />> > <br />> > <br />> > <br />> >                 # image might be None or '' for empty images<br />> >                 return image<br />> > <br />> > <br />> >         return base.ATCTContent.__bobo_traverse__(self, REQUEST, name)<br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> >  <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > Grazie<br />> > <br />> > <br />> > Sandro<br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > _______________________________________________<br />> > <br />> > Plone-IT mailing list<br />> > <br />> > Plone-IT@lists.plone.org<br />> > <br />> > https://lists.plone.org/mailman/listinfo/plone-plone-it<br />> > <br />> > http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html<br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > -- <br />> > Fabrizio<br />> > --------------------<br />> > "Life is what happens to you while you're busy making other plans" - J. Lennon<br />> > <br />> > “If you think education is expensive, try ignorance” - D. Bok<br />> > <br />> > <br />> > <br />> > <br />> > _______________________________________________<br />> > <br />> > Plone-IT mailing list<br />> > <br />> > Plone-IT@lists.plone.org<br />> > <br />> > https://lists.plone.org/mailman/listinfo/plone-plone-it<br />> > <br />> > http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html<br />> > <br />> > <br />> > <br />> > <br />> > <br />> > -- <br />> > =========================================<br />> >        Dott. Sandro Caneschi<br />> > <br />> >        HT&T Consulting srl<br />> >        Via Verdi, 45 - 56025   Pontedera, Pisa<br />> >        Tel. +39 0587 757360<br />> >        Tel. +39 0587 52343<br />> > <br />> > <br />> >        Fax  +39 0587 52043<br />> > <br />> >        Web  http://www.htt.it<br />> > =========================================<br />> > Ai fini del D.Lgs. 196/2003, le informazioni contenute in questa e-mail ed i<br />> > <br />> > <br />> > suoi eventuali allegati sono da ritenersi confidenziali, riservati ed<br />> > indirizzate ai soli destinatari. Se avete ricevuto questa comunicazione per<br />> > errore non utilizzatene il contenuto e non portatelo a conoscenza di alcuno.<br />> > <br />> > <br />> > Siete inoltre pregati di eliminarla dalla vostra casella ed avvisare il<br />> > mittente.<br />> > <br />> > This transmission is confidential and intended solely for the person or<br />> > organization to whom it is addressed. It may contain privileged and<br />> > <br />> > <br />> > confidential information.  If you are not the intended recipient, you should<br />> > not copy, distribute or take any action in reliance on it. If you believe<br />> > you received this transmission in error, please notify the sender.<br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> > <br />> >