archetypes.markerfield is a Plone product that contains a single Archetypes field that can manage one or more marker interface on an object.
It is most often used with archetypes.schemaextender to add a field to a type which controls new optional behaviour.
This example adds a new item to the settings fieldset for an object which controls an ICategory marker interface:
"""Add a new 'category' field to all Archetypes based folder types.
fields = [
schemata = "settings",
interfaces = (ICategory,),
widget = BooleanWidget(
title = _(u"label_category",
default=u"Is this folder a category."),
description = _(u"help_category",
default=u"This should briefly explain what "
u"categories are used for."),
def __init__(self, context):
self.context = context
- Extracted a non-schemaextender version of the field to its own class. [hannosch]
- PEP8 cleanup. [hannosch]