[Plone-IT] ImageField con SchemaExtender

Sandro Caneschi caneschi a htt.it
Mer 15 Giu 2011 10:05:16 UTC


Grazie per la risposta, ma niente da fare!!

Sembra che in qualche modo l'immagine (come dati) venga memorizzata, questo
perchè il riquadro dell'immagine prende le giuste proporzioni.

Il problema è nella visualizzazione, nel recupero dell'immagine: con
archetype ho creato altri content types e aggiungendo all'URL "/image"
riesco a vedere l'immagine... mentre qui no...

e lì per vedere l'immagine ho dovuto aggiungere il metodo def
__bobo_traverse__ che qui sembra essere ignorato... e che sarebbe la chiave
di tutto.

s.


Il giorno 15 giugno 2011 12:03, Fabrizio Rota <fabrizio.rota a gmail.com> ha
scritto:

> 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
>
> _______________________________________________
> 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/256a2636/attachment-0001.html>


Maggiori informazioni sulla lista Plone-IT