[Plone-IT] ImageField con SchemaExtender
Fabrizio Rota
fabrizio.rota a gmail.com
Mer 15 Giu 2011 10:03:13 UTC
Leadimage ha un pannello di controllo (accessibile dal pannello di Plone)
con cui decidi a quali tipi di contenuto "attaccare" il nuovo campo.
Per i basici come me leadimage è una vera benedizione.......
a presto
faber
Il giorno 15 giugno 2011 11:09, 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.
>
>
> _______________________________________________
> 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
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.plone.org/pipermail/plone-plone-it/attachments/20110615/1572f1bf/attachment.html>
Maggiori informazioni sulla lista
Plone-IT