Hi Stefan,
okay das war der entscheidende Hinweis!
Vielleicht vorher noch etwas zur Erklärung: Das Feld in unserer Datenbank heißt 'sections' (also #row.sections). Das Feld im Formular heißt 'st_listing'. (nicht fragen, historisch bedingt...)
Der Unterschied ist also:
#row.sections (db): de.espirit.firstspirit.client.access.editor.FormDataListImpl
st_listing (form): de.espirit.firstspirit.generate.IdentifiableFormDataList
Beide lassen sich loopen, die Kind-Elemente sind dann:
(db-feld): de.espirit.firstspirit.client.access.editor.FormDataImpl
(form-form): de.espirit.firstspirit.generate.IdentifiableIdProvidingFormData
Mit letzterem Funktioniert es wie es soll...
Jetzt nochmal kurz dazu, warum alles nicht früher funktioniert hat (falls jemand eine ähnlichen Projektaufbau hat):
Wir haben im System eine Datenbankvorlage namens 'content'. Das ist die Standard-Vorlage, über die wir 90% der Inhalte ausgegeben. Dort ist auch das Formular, über das die Daten gepflegt werden.
Nun haben wir einen Bereich, der vom Standard abweicht - also eine andere Ausgabe besitzt. Für den gibt es eine andere Datenbankvorlage, die sich auf die selbe Datenquelle bezieht. Diesen Bereich wollten wir jetzt über den ContentCreator Pflegbar machen. In dieser Vorlage gibt es jedoch kein Formular...
Irgendwie bin ich jetzt davon ausgegangen, dass FirstSpirit auch ohne Formular in der Lage ist den richtigen Editor zu erzeugen. Dass das rein von der Logik her so nicht ganz klappen kann, ist mir jetzt auch bewusst geworden.
Bei den anderen Feldern hat es jedoch durch Angabe der view funktioniert:
<div class="headline" $CMS_VALUE(editorId(view:"content_sgg", editorName:"cs_headline", target:#row.headline))$>
$CMS_VALUE(if(#row.headline.empty, "<i>Überschrift</i>", #row.headline))$
</div>
Also verstehe ich das richtig, dass man bei einfachen Feldern praktisch ein beliebliges Datenbank-Template zum Rendern verwenden kann und dann durch Angabe der View zum einen die Rechte auf den Datensatz und das Template, und durch Angabe von 'editorName' das Formular-Feld und durch target das Datenbank-Feld definieren kann?
Geht das denn jetzt auch für komplexe Felder wie die FS-List?
Oder kann ich den ContentCreator generell nur verwenden, wenn mein Template ein Formular besitzt? Wie ist hier die Best Practice, wenn man mehrere Datenbankvorlagen verwenden möchte, ohne dann mehrere gleiche Formulare zu definieren? (Bei Änderungen fehleranfällig...)
Schöne Grüße
Julius