Search the FirstSpirit Knowledge Base
Hallo,
ich habe folgendes Problem:
In einer FS_LIST kann man ja mit Hilfe von Variablen die Anzeige der einzelnen Absätze verschönern. Meine Variable, die ich dafür anzeigen möchte, liegt aber in einer CMS_INPUT_CONTENTLIST. Die CONTENT_LIST greift auf eine Tabelle mit zwei Spalten zu. Meine Frage: Kann ich mir eine von diesen Spaltenvariablen irgendwie als VARIABLE in der fs_list anzeigen lassen?
Versuche wie bspw.:
<VARIABLES>
<VARIABLE name="contentlist_name.spalten_name"/>
</VARIABLES>
brachten leider nicht den gewünschten Erfolg.
<VARIABLES>
<VARIABLE name="contentlist_name"/>
</VARIABLES>
--> gibt mir nur die Entity aus --> sehr unschön und nicht verwendbar.
Auch ein Work-Around-Lösungsvorschlag wäre hilfreich. Vielen Dank schon mal und schöne Grüße!
Hallo Martina,
wenn du dir eine Spaltenvariable aus einer Contenlist über eine FS_LIST anzeigen lassen willst kannst du wie folgt vorgehen:
<FS_LIST name="name">
<DATASOURCE type="inline" useLanguages="no">
<LABELS>
<LABEL lang="*">#item.table.get(0).get("Anzeigename")</LABEL> // table ist der Name der Contentlist, "Anzeigename" findest du in der Tabellenvorlage für deine Tabelle unter dem Reiter "Mapping". Für die jeweilige Sprache nimmst du also den Namen der Spalte und musst dann entsprechen auch lang="Sprache" wählen, bei lang="*" wird die automatisch EN als Sprache gewählt
</LABELS>
<ACTIONS>
<ACTION name="ADD"/>
<ACTION name="REMOVE"/>
<ACTION name="UP"/>
<ACTION name="DOWN"/>
<ACTION name="EDIT"/>
</ACTIONS>
<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
</COLUMNS>
<LAYOUT>
<ADD component="toolbar" constraint="top"/>
<ADD component="overview" constraint="center"/>
<ADD component="stackedview" constraint="hide"/>
</LAYOUT>
<TEMPLATES source="sectiontemplates"> // Contentlist in den Absatzvorlagen
<TEMPLATE uid="contact"/> // Absatzvorlage, in der sich das Formular für die Contentlist befindet
</TEMPLATES>
</DATASOURCE>
<LANGINFOS>
<LANGINFO lang="*" label="Absätze bearbeiten"/>
</LANGINFOS>
</FS_LIST>
In meinem Falle befindet sich die Vorlage für die Contentlist unter den Absatzvorlagen, die Absatzvorlage heißt "contact" und der Name der Contentlist ist table (wie oben beschrieben). In meiner Tabellenvorlage befinden sich unter dem Reiter "Mapping" im Sprachkanal "EN" z.B. folgende Werte: Salutation, Firstname, Lastname etc., das sind die Anzeigenamen der Spalten.
Wenn ich z.B. nur den Vornamen angezeigt haben will, gehe ich also im Label (siehe oben) wie folgt vor:
<LABEL lang="*">#item.table.get(0).get("Firstname")</LABEL>
oder im Deutschen:
<LABEL lang="DE">#item.table.get(0).get("Vorname")</LABEL>
Einfacher wäre es, direkt über die FS_LIST auf die Tabelle zuzugreifen, hier kannst du über die <COLUMN>-Tags einzelne Spalten anzeigen lassen oder auch nicht, ein Beispiel wäre:
<FS_LIST name="BEZEICHNER">
<DATASOURCE type="database" useLanguages="yes">
<ACTIONS>
<ACTION name="ADD"/>
<ACTION name="REMOVE"/>
<ACTION name="UP"/>
<ACTION name="DOWN"/>
<ACTION name="GOTO"/>
<ACTION name="VIEW"/>
</ACTIONS>
<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
<COLUMN show="no">#released</COLUMN>
<COLUMN show="no">#fs_id</COLUMN>
<COLUMN show="no">cs_salutation</COLUMN>
<COLUMN show="yes">cs_firstname</COLUMN> //cs_firstname ist der Name des Formulars in der Tabellenvorlage
<COLUMN show="no">cs_lastname</COLUMN>
</COLUMNS>
<LAYOUT>
<ADD component="toolbar" constraint="top"/>
<ADD component="overview" constraint="center"/>
<ADD component="stackedview" constraint="hide"/>
</LAYOUT>
<TABLE>Products.contacts</TABLE>
<TABLEVIEWS>
<VIEW name="test" key="cs_salutation"/>
</TABLEVIEWS>
</DATASOURCE>
<LANGINFOS>
<LANGINFO lang="*" label="Datensatz-Auswahl"/>
</LANGINFOS>
</FS_LIST>
Es wird also hier nur der Vorname angezeigt in der Liste.
Freundliche Grüße
Ismail