On Monday 12 July 2010, Yuri wrote: > 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 visto che con ISchemaModifier si può cambiare lo schema, secondo te > se cambio l'accessor (field.accessor = mio_metodo ), funziona?
ISchemaModifier è parte di SchemaExtender serve per modificare lo schema ma non mi risulta che permetta di sovrascrivere gli accessori di un field esistente. > Non si può fare con qualche adapter? Ad esempio con collective.indexer > sono riuscito ad indicizzare e salvare nei metadata come volevo io per > l'indice di Title, solo che non riesco a settarlo come voglio io. Gli indici li puoi ridefinire o creare come preferisci. Riguardo all'uso di adpater a me non risulta che ci sia del codice che cerca una qualche interfaccia da adattare. Puoi dare uno sguardo a Archetypes/ClassGen.py, da quel codice si vede che i metodi sono creati come attributi. > L'alternativa potrebbe essere settare la default view a una custom, > quando cambio l'interfaccia (uso subtyper), sottoscrivendomi agli eventi > di subtyper. Non so a cosa ti riferisci. -- Riccardo Lemmi Email: ricca...@reflab.com Reflab S.r.l. - Plone Design, Development and Consulting Phone: +39 349 4620820 http://www.reflab.com
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ 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