You are connected to __init__ for a schema of your content type. The schema is used as the basis for the fields that populate your content, but this is not the content type type itself.
If you want to connect to the creation of a content type, instead register event subscribers :
from zope.app.container.interfaces import IObjectAddedEvent @grok.subscribe(IHorse, IObjectAddedEvent) def logHorseCreated(horse, event): logger.info('Created a horse')
If you really need to configure the initialization of the content item in the __init__ method, you need to create your own custom content class instead.
from plone.dexterity.content import Item class Horse(Item): def __init__(self, id=None): super(Horse, self).__init__(id)
source share