=============== Computed Fields =============== In unserem speziellen Fall wollen wir aus den zwei Feldern *Vorname* und *Nachname* den Titel unseres *Employee*-Artikeltyps erstellen lassen. Hierzu erhält die Klasse ``Employee`` die Eigenschaft ``title``, die sich aus den Feldern ``first_name`` und ``surname`` zusammensetzt:: class Employee(Item): """Customised Employee content class""" @property def title(self): if hasattr(self, 'first_names') and hasattr(self, 'surname'): return self.first_name + ' ' + self.surname else: return '' Generieren der ID ----------------- Etwas komplexer ist das Erstellen der ID aus einem berechneten Titel:: from plone.app.content.interfaces import INameFromTitle class INameFromEmployeeTitle(INameFromTitle): def title(): """Return a processed title""" class NameFromEmployeeTitle(object): implements(INameFromEmployeeTitle) def __init__(self, context): self.context = context @property def title(self): return self.context.first_name + ' ' + self.context.surname def setTitle(self, value): return Nun registrieren wir noch einen Adapter für die Dexterity-Interface-Klasse::