Questions & Answers

SOLVED
dspieser
Returning Observer

FS_INDEX Eingabekomponente in Datenquellen

Jump to solution

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":"523d4060-14e9-4987-bad4-f733eb27db16","table":"events"}}

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!

1 Solution

Accepted Solutions

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

View solution in original post

0 Kudos
17 Replies
StefanSchulz
I'm new here

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

0 Kudos

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 werdenmapping.png

GrรผรŸe

Dietmar.

0 Kudos

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

0 Kudos

Hallo Stefan,

das funktioniert leider auch nicht.

GrรผรŸe

Dietmar

0 Kudos

Werden denn Fehler geloggt? Oder Warnings?

Dass dabei gar nichts passiert, kann ich mir nicht vorstellen.

GruรŸ

Stefan

0 Kudos

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

0 Kudos

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

0 Kudos

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

0 Kudos

leider Fehlen jetz die ganzen Bilder ;-(

aufbau-datenbankschema.png

Mappingfehler.png

0 Kudos

Type a product name