Il 12/07/2010 15:25, Riccardo Lemmi ha scritto: > On Monday 12 July 2010, Yuri wrote: > >> Salve! >> >> dovrei sovrascrivere il metodo Title di un Document, nel caso sia >> applicata una marker interface. >> >> Qual è il modo più semplice? Non vorrei subclassare o modificare il >> codice, vorrei poter dire che il metodo Title di quell'oggetto, per la >> mia interfaccia, è implementato nel mio modulo. >> >> Idee? >> > Puoi solo fare un monkey patch, basta eseguire una cosa di questo tipo: > > from yourmodule import yourcontent > def newTitle(self): > # ... > > yourcotent.YourContent = newTitle > > nel codice di newTitle controllerai la marker interface. >
Ho risolto mettendo object.setTitle(valore) nell'indexer del Title :D @indexer(IDocumentExtended) def Title(object, **kw): if IDocumentExtended.providedBy(object): try: a = IMethodAdd(object) descr = a.extract_data() key = u'Nome Risorsa:' if descr.has_key(key): title = descr[key] object.setTitle(title) return title except: return Missing.Value else: return Missing.Value è un po' insulsa, ma funziona. _______________________________________________ Plone-IT mailing list Plone-IT@lists.plone.org http://lists.plone.org/mailman/listinfo/plone-it http://www.nabble.com/Plone---Italy-f21728.html