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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.