Re: Content-Typ mit dynamischer Anzahl an Feldern in Plone 3
"Jens W. Klein" <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Organization | Klein & Partner KEG, BlueDynamics Alliance |
| Message-ID | <1235980322.25477.103.camel@minime> |
Am Montag, den 02.03.2009, 08:41 +0100 schrieb Andreas Jung: > On 02.03.2009 8:38 Uhr, Nico Grubert wrote: > > Hallo zusammen > > > > gibt es eine Möglichkeit, in Plone 3 einen Content-Typ zu erstellen, der > > eine dynamische Anzahl an Feldern hat? Und wenn ja: wie geht das? > > Ich möchte gern einen Content-Typ entwickeln, der neben einem > > "Titel"-Feld eine beliebige Anzahl von Referenz-Feldern zu anderen > > Dokumenten hat, um diese Dokumente z.B. anzuteasern. > > In Plone 2 hatte ich immer neue Content-Typen mit Archetypes entwickelt, > > aber soweit ich weiss, ist dort immer ein fest definiertes Schema > > vorgegeben. Ich würde einfach Multiselection auf dem Field einschalten... > "ArrayField" (gehört zum CompoundField package)? Ausgerechnet ReferenceFields werden vom ArrayField nicht unterstützt, da ReferenceFields kein 'echtes' Storage haben (die Referencen werden ja via der Archetypes IReferenceable direkt gesetzt) und Arrayfield die Namen des Sub-Fields automatisch permutiert und damit ein Subschema ensteht das sich per get aus dem Fieldname den Wert holt. Der Name der Reference (die "relationship") würden beim ArrayField aber in jedem Feld gleich bleiben. damit steht dann nach dem Speichern in jedem Deiner Fields im Array das gleiche drin. Wenn es ein ArrayField sein soll: Am einfachsten ist es sicher ein StringField herzunehmen und dem ein ReferenceBrowserWidget zu verpassen. Dann wird eben keine echte Reference aufgebaut. Bei get kriegst Du dann nur die UID zurück. Die IReferenceable API steht die dann auch nicht zur Verfügung, aber durch befragen des Catalogs kannst Du wunderbar das referenzierte Objekt holen. ich hoffe das hilft Dir Jens -- Jens Klein Software Architect Managing Director, General Partner +43 512 890077 BlueDynamics Alliance WEB APPLICATIONS, ZOPE, PLONE, HOSTING Klein & Partner KEG production: concept, development, design http://bluedynamics.com consulting: analysis, coaching, training http://zoplo.com management: projects, process, community _______________________________________________ zope mailing list [email protected] https://mail.dzug.org/mailman/listinfo/zope