Search the FirstSpirit Knowledge Base
Hallo Zusammen,
flogendes Problem: ich möchte gerne eine FS_INDEX Komponente nutzen um Datensätze einer Datanquelle mit einem Datensatz einer anderen Datenquelle zu verknüpfen.
Die Doku und hier in der Community bin ich nicht wirklich fündig geworden.
Tabelle A: sind Niederlassungen an denen Events stattfinden
Tabelle B: enthält die möglichen Events.
Hier die FS_INDEX Komponente:
<FS_INDEX name="ct_events" useLanguages="no">
<LANGINFOS>
<LANGINFO lang="*" label="Event selection"/>
<LANGINFO lang="DE" label="Eventauswahl"/>
</LANGINFOS>
<SOURCE name="DatasetDataAccessPlugin">
<TEMPLATE uid="niederlassungen_group.events"/>
</SOURCE>
</FS_INDEX>
Hier der Versuch die Liste auszugeben:
$CMS_FOR(event,#row.group_eventlist)$
$CMS_VALUE(event)$
$CMS_END_FOR$
Das ist das Ergebenis:
BoundRecord{_id={"schema":"niederlassungen_group","gid":"5bc28d84-b695-4823-94f6-2da2a477c6c4","table":"events"}}
In der Doku steht es ein wenig anders, aber das hat bei mir gar nicht funktioniert:
...
$CMS_FOR(entry,st_index.values)$
$CMS_VALUE(entry.formData.tt_headline)$
$CMS_END_FOR$
...
#row.group_eventlist.values kann nicht iteriert werden.
#row.group_eventlist ist vom Typ de.espirit.firstspirit.client.access.editor.lists.IndexImpl
Irgendwie fehlt mir die zündende Idee.
Vielen Dank für eure Hilfe!
Hi,
> Das Detail Template hat kein Formular sondern gibt lediglich den einzelnen Satz aus und das funktioniert nur mit #row.
Ok, ohne Formular kein Zugriff auf die Komponenten, was allerdings keine schöne Variante ist.
Aber die FOR-Schleife ist doch aus der Übersichtsvorlage, oder verstehe ich das falsch?
Wenn sich die Index-Komponente nicht auf eine Beziehung abbilden lässt, dann stimmt da irgendetwas mit dem Schema nicht. Diese Abbildung ist sowohl technisch möglich als auch in Projekten bereits erprobt. Mit einer Spalte vom Typ FS-Editor sollte die Komponente aber identisch funktionieren.
Gruß
Stefan
Hallo,
wo findet denn der Versuch der Ausgabe statt? Eine Referenz mit #row liest sich für mich ein wenig unerwartet und nach direktem Zugriff auf den Datensatz. In diesem Fall könnte es sein, dass die Kontextinformationen zum Auflösen der Datensatzreferenzen nicht verfügbar sind.
Weitere Fragen:
Was genau hat bei der Lösung laut Doku nicht funktioniert?
Wie sieht das Mapping für die Komponente ct_events aus?
Beste Grüße
Stefan
Hallo,
die Ausgabe ist auf der Detailseite der Niederlassung, dort werden alle Felder der Tabelle niederlassungen_group ausgegeben, das funktioniert auch bei allen Feldern bis auf den FS_INDEX.
" #row.group_eventlist.values kann nicht iteriert werden"
#row.group_eventlist.values liefert den Fehler kann nicht iteriert werden
Grüße
Dietmar.
Hallo,
der Zugriff über die Spalte des Datensatzes direkt (#row) wird vermutlich nicht funktionieren. Auf der Detailseite sollten die Eingabekomponenten aber direkt ansprechbar sein, das wäre hier wohl ct_events (ohne #row). Es sei denn, hier wird eine ContentStore-Abbildung benutzt oder ähnliches.
Was ergibt denn ein einfacher Versuch mit $CMS_FOR(event, ct_events.values)... ?
Gruß
Stefan
Hallo Stefan,
das funktioniert leider auch nicht.
Grüße
Dietmar
Werden denn Fehler geloggt? Oder Warnings?
Dass dabei gar nichts passiert, kann ich mir nicht vorstellen.
Gruß
Stefan
Es kann nicht iteriert werden, ich kann mir auch nicht vorstellen das man innerhalb der Datenquelle/ Datendetailsatz einfach ohne #row die Eingabekomponente ansprechen kann.
Wenn ich mir die Komponente ct_events in einem CMS_VALUE ausgeben lasse komm eine Warnung: empty value.
Grüße
Dietmar
Vielleicht verstehe ich auch falsch, was du mit "Datendetailsatz" meinst.
Wo findet der #row Aufruf statt? (Tabellenvorlage? Wie ist Aufrufkette bis da hin?)
Gruß
Stefan
Es gibt für jede Niederlassung eine Detail Seite die über Schema niederlassungen_group und Tabellevorlage NL Group Detail erzeugt wird.
Im html Teil wird über #row auf die einzelnen Felder zugegriffen.
Bei der Tabellenvorlage NL Group Übersicht im Formular ist dann die FS_INDEX angelegt:
<FS_INDEX name="ct_events" useLanguages="no">
<LANGINFOS>
<LANGINFO lang="*" label="Event selection"/>
<LANGINFO lang="DE" label="Eventauswahl"/>
</LANGINFOS>
<SOURCE name="DatasetDataAccessPlugin">
<TEMPLATE uid="niederlassungen_group.events"/>
</SOURCE>
</FS_INDEX>
Mapping
und
$CMS_FOR(event,#row.group_eventlist)$
<div class="cols_full">
<div class="inner_wrapper">
<div class="inner_main">
$CMS_VALUE(event)$
</div>
</div>
</div>
$CMS_END_FOR$
$CMS_END_IF$
ergibt folgende Ausgabe:
Wenn ich eine M:N Verknüpfung anlege und darauf Mappe kommt folgender Fehler:
Danke für die Gedult.
Grüße
Dietmar
leider Fehlen jetz die ganzen Bilder ;-(