Le 2 juil. 2010 à 13:24, Yuri a écrit :

> Il 02/07/2010 11:43, Gilles Lenfant ha scritto:
>> Le 2 juil. 2010 à 10:21, Yuri a écrit :
>> 
>> 
>>> Hi!
>>> 
>>>  I would like to add some method to an existing content type class.
>>> 
>>>  What I've done now is using schemaextender and a custom marker
>>> interface to a Document:
>>> 
>>> class DocumentExtender(object):
>>>     """Adapter that adds a Ripped Off From Channel field to News Items."""
>>>     adapts(IDocumentExtended)
>>>     implements(IOrderableSchemaExtender)
>>> 
>>>     _fields = [
>>> 
>>> Schemaextender can add new fields, I would like now to add some new
>>> methods. From my understanding of ZCA, I've to write some adapter for
>>> the custom interface. Is it correct? Is there some code/product about
>>> this issue I can read from?
>>> 
>> An adapter does not add any method to an existing class. Adapters work on 
>> objects and not on classes.
> 
> 
>  Yes, to the object. I would like to have a .my_method() on objects 
> with that marker interface set. So adapter should be the way.

Yes , you can do (with appropriate programming in the adapter class)

ad = IMyservice(some_content_object)
value = ad.some_method(some_args)

This does the same thing but this is not strictly speaking "adding a method".

> _______________________________________________
> Product-Developers mailing list
> [email protected]
> http://lists.plone.org/mailman/listinfo/product-developers

_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers

Reply via email to