[Plone-IT] ImageField con SchemaExtender

sauzher a gmail.com sauzher a gmail.com
Mer 15 Giu 2011 09:25:55 UTC


a mio stesso suffragio riporto le prime righe di definizione  
dell'ImageField in Products.ATContentType/content/image.py
ATImageSchema = ATContentTypeSchema.copy() + Schema((
ImageField('image',
required=True,
primary=True,
languageIndependent=True,
storage = AnnotationStorage(migrate=True),
....

bye


Il giorno , sauzher a gmail.com ha scritto:
> 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 :)

> alessandro.

> Il giorno , Sandro Caneschi caneschi a htt.it> ha scritto:
> > 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.
> >
> >
> >
> > 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.
> >
> >
> >
> >
> > Avendo già necessità di utilizzare schemaextender aveva pensato di  
> usarlo anche per questa cosa e in realtà penso di essere abbastanza  
> vicino alla soluzione...
> >
> >
> > Se qualcuno c'è già passato, per favore si faccia avanti.
> >
> >
> >
> >
> > Grazie
> >
> >
> > Il giorno 14 giugno 2011 21:31, Fabrizio Rota fabrizio.rota a gmail.com>  
> ha scritto:
> >
> >
> > Il prodotto collective leadimage può risparmiarti parecchia fatica:  
> funziona bene ed esiste per plone 2, 3, 4.Mi senti di consigliartelo.
> >
> >
> >
> >
> > a presto
> >
> > Il giorno 14 giugno 2011 16:51, Sandro Caneschi caneschi a htt.it> ha  
> scritto:
> >
> >
> >
> >
> > Vorrei utilizzare SchemaExtender per aggiungere un'immagine con  
> relativa didascalia all'oggetto Event.
> >
> >
> >
> >
> > L'aggiunta dei campi va a buon fine, ma ho dei problemi nella  
> visualizzazione dell'immagine.
> >
> >
> >
> >
> > 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.
> >
> >
> >
> >
> >
> > Ho provato anche all'indirizzo /image e /image_thumb ma niente.
> >
> >
> > Ho pensato che la classe necessitasse di un traverse ma non ha  
> funzionato... sembra che la ignori.
> >
> >
> >
> >
> >
> >
> >
> > Potete aiutarmi?
> >
> >
> >
> >
> > Metto qui sotto un po' di codice relativo al campo Image che ho messo  
> in extender.py:
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > class ExtensionImageField(ExtensionField, ImageField): pass
> >
> >
> > image = ExtensionImageField(
> > 'image',
> >
> >
> > required = False,
> > storage=AnnotationStorage(),
> > widget=ImageWidget(
> >
> >
> >
> >
> >
> > label="Immagine",
> > description="Inserisci un'immagine relativa all'evento",
> >
> >
> >
> >
> >
> > ),
> > validators=('isNonEmptyFile'),
> > languageIndependent = True,
> >
> >
> >
> >
> >
> > sizes= {'large' : (768, 768),
> > 'preview' : (400, 400),
> >
> >
> > 'mini' : (200, 200),
> > 'thumb' : (128, 128),
> >
> >
> > 'tile' : (64, 64),
> > 'icon' : (32, 32),
> >
> >
> > 'listing' : (16, 16),
> > },
> > )
> >
> >
> >
> >
> >
> > class ATEventExtender(ContentExtender):
> > adapts(IATEvent)
> > fields = ContentExtender.fields + [image]
> >
> >
> > def __bobo_traverse__(self, REQUEST, name):
> >
> >
> >
> >
> >
> > """Transparent access to image scales
> > """
> > if name.startswith('image'):
> > field = self.getField('image')
> >
> >
> >
> >
> >
> > image = None
> > if name == 'image':
> > image = field.getScale(self)
> > else:
> > scalename = name[len('image_'):]
> >
> >
> >
> >
> >
> > if scalename in field.getAvailableSizes(self):
> > image = field.getScale(self, scale=scalename)
> > if image is not None and not isinstance(image, basestring):
> >
> >
> >
> >
> >
> > # image might be None or '' for empty images
> > return image
> >
> >
> > return base.ATCTContent.__bobo_traverse__(self, REQUEST, name)
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Grazie
> >
> >
> > Sandro
> >
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> >
> > Plone-IT mailing list
> >
> > Plone-IT a lists.plone.org
> >
> > https://lists.plone.org/mailman/listinfo/plone-plone-it
> >
> >  
> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
> >
> >
> >
> >
> >
> >
> > --
> > Fabrizio
> > --------------------
> > "Life is what happens to you while you're busy making other plans" - J.  
> Lennon
> >
> > “If you think education is expensive, try ignorance” - D. Bok
> >
> >
> >
> >
> > _______________________________________________
> >
> > Plone-IT mailing list
> >
> > Plone-IT a lists.plone.org
> >
> > https://lists.plone.org/mailman/listinfo/plone-plone-it
> >
> >  
> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
> >
> >
> >
> >
> >
> > --
> > =========================================
> > Dott. Sandro Caneschi
> >
> > HT&T Consulting srl
> > Via Verdi, 45 - 56025 Pontedera, Pisa
> > Tel. +39 0587 757360
> > Tel. +39 0587 52343
> >
> >
> > Fax +39 0587 52043
> >
> > Web http://www.htt.it
> > =========================================
> > Ai fini del D.Lgs. 196/2003, le informazioni contenute in questa e-mail  
> ed i
> >
> >
> > suoi eventuali allegati sono da ritenersi confidenziali, riservati ed
> > indirizzate ai soli destinatari. Se avete ricevuto questa comunicazione  
> per
> > errore non utilizzatene il contenuto e non portatelo a conoscenza di  
> alcuno.
> >
> >
> > Siete inoltre pregati di eliminarla dalla vostra casella ed avvisare il
> > mittente.
> >
> > This transmission is confidential and intended solely for the person or
> > organization to whom it is addressed. It may contain privileged and
> >
> >
> > confidential information. If you are not the intended recipient, you  
> should
> > not copy, distribute or take any action in reliance on it. If you  
> believe
> > you received this transmission in error, please notify the sender.
> >
> >
> >
> >
> >
> >
> >
> >
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.plone.org/pipermail/plone-plone-it/attachments/20110615/c7546250/attachment-0001.html>


Maggiori informazioni sulla lista Plone-IT