[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