Il prodotto collective leadimage può risparmiarti parecchia fatica: funziona bene ed esiste per plone 2, 3, 4.<div>Mi senti di consigliartelo.</div><div><br></div><div>a presto<br><br><div class="gmail_quote">Il giorno 14 giugno 2011 16:51, Sandro Caneschi <span dir="ltr"><<a href="mailto:caneschi@htt.it">caneschi@htt.it</a>></span> ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Vorrei utilizzare SchemaExtender per aggiungere un'immagine con relativa didascalia all'oggetto Event.<div><br>
</div><div>L'aggiunta dei campi va a buon fine, ma ho dei problemi nella visualizzazione dell'immagine.</div>
<div><br></div><div>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.</div>
<div>Ho provato anche all'indirizzo /image e /image_thumb ma niente.</div><div><br></div><div>Ho pensato che la classe necessitasse di un traverse ma non ha funzionato... sembra che la ignori.</div><div><br></div><div>
Potete aiutarmi?</div><div><br></div><div><br></div><div>Metto qui sotto un po' di codice relativo al campo Image che ho messo in extender.py:</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br>
</div><div>class ExtensionImageField(ExtensionField, ImageField): pass</div><div><br></div><div><div>image = ExtensionImageField(</div><div><span style="white-space:pre-wrap">                                                        </span>'image',</div>
<div><span style="white-space:pre-wrap">                                                        </span>required = False,</div><div><span style="white-space:pre-wrap">                                                        </span>storage=AnnotationStorage(),</div><div><span style="white-space:pre-wrap">                                                        </span>widget=ImageWidget(</div>
<div><span style="white-space:pre-wrap">                                                                </span>label="Immagine",</div><div><span style="white-space:pre-wrap">                                                                </span>description="Inserisci un'immagine relativa all'evento",</div>
<div><span style="white-space:pre-wrap">                                                        </span>),</div><div><span style="white-space:pre-wrap">                                                        </span>validators=('isNonEmptyFile'),</div><div><span style="white-space:pre-wrap">                                                        </span>languageIndependent = True,</div>
<div><span style="white-space:pre-wrap">                                                        </span>sizes= {'large' : (768, 768),</div><div><span style="white-space:pre-wrap">                                                                        </span>'preview' : (400, 400),</div>
<div><span style="white-space:pre-wrap">                                                                        </span>'mini' : (200, 200),</div><div><span style="white-space:pre-wrap">                                                                        </span>'thumb' : (128, 128),</div>
<div><span style="white-space:pre-wrap">                                                                        </span>'tile' : (64, 64),</div><div><span style="white-space:pre-wrap">                                                                        </span>'icon' : (32, 32),</div>
<div>
<span style="white-space:pre-wrap">                                                                        </span>'listing' : (16, 16),</div><div><span style="white-space:pre-wrap">                                                                </span> },</div><div><span style="white-space:pre-wrap">                                                </span>)</div>
</div><div><br></div><div><div>class ATEventExtender(ContentExtender):</div><div> adapts(IATEvent)</div><div> fields = ContentExtender.fields + [image]</div><div><br></div><div> def __bobo_traverse__(self, REQUEST, name):</div>
<div> """Transparent access to image scales</div><div> """</div><div> if name.startswith('image'):</div><div> field = self.getField('image')</div>
<div> image = None</div><div> if name == 'image':</div><div> image = field.getScale(self)</div><div> else:</div><div> scalename = name[len('image_'):]</div>
<div> if scalename in field.getAvailableSizes(self):</div><div> image = field.getScale(self, scale=scalename)</div><div> if image is not None and not isinstance(image, basestring):</div>
<div> # image might be None or '' for empty images</div><div> return image</div><div><br></div><div> return base.ATCTContent.__bobo_traverse__(self, REQUEST, name)</div></div>
<div>
<br></div><div> </div><div><br></div><div><br></div><div><br></div><div><div>Grazie</div><div><br></div><div>Sandro</div></div><div><br></div>
<br>_______________________________________________<br>
Plone-IT mailing list<br>
<a href="mailto:Plone-IT@lists.plone.org">Plone-IT@lists.plone.org</a><br>
<a href="https://lists.plone.org/mailman/listinfo/plone-plone-it" target="_blank">https://lists.plone.org/mailman/listinfo/plone-plone-it</a><br>
<a href="http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html" target="_blank">http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html</a><br></blockquote></div><br><br clear="all">
<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>
</div>