Search the FirstSpirit Knowledge Base
Folgende Anwendung:
Absatzvorlage:
<FS_CATALOG name="st_content_teaser" useLanguages="no" viewMode="headers">
<LANGINFOS>
<LANGINFO lang="*" label="Content Teaser anlegen"/>
</LANGINFOS>
<TEMPLATES type="section">
<TEMPLATE uid="st_resp_content_teaser_eintrag"/>
</TEMPLATES>
</FS_CATALOG>
Im Template "st_resp_content_teaser_eintrag" befinden sich die Eingabekomponenten
Ich prüfe auf Seitenebene, ob eine bestimmte Absatzvorlage vorhanden ist, und setzte dann eine globale Variable mit der FS_CATALOG Liste aus der Absatzvorlage:
$CMS_SET(void, #global.pageContext.setVariableValue("set_marketContentTeaserList", for_section.formData.get(#global.language,"st_content_teaser").get()))$
Diese Liste soll zusätzlich an einer anderen Position auf der Seite ausgegeben und nicht in global.page.body
$CMS_FOR(contentTeaser, set_marketContentTeaserList)$
<span $CMS_VALUE(editorId(editorName:contentTeaser))$>
$CMS_VALUE(contentTeaser)$
</span>
$CMS_END_FOR$
Im Content Creator werden dann zur Bearbeitung nur die Formulareingaben der Seite und nicht die des Absatzes "st_resp_content_teaser_eintrag" eingeblendet.
Wie kommt man an die Elemente des Absatzes für die Bearbeitung im Content Creator?
Gruß Christiane Witt.
Hallo Christiane,
die editorId()-Funktion weiß "von sich aus" nicht, wo das jeweilige Ziel-Element "liegt" - sie macht dazu höchstens ein paar Annahmen. In der Doku zu editorId() stehen ja jede Menge mögliche Parameter. Wenn man diese jeweils nicht angibt, wird der "aktuelle Kontext" benutzt. Zum Beispiel die aktuelle Seite / der aktuelle Absatz.
In Deinem Fall funktioniert das nicht. Kann es auch gar nicht, denn theoretisch könnte auf der Seite ja auch eine EK mit demselben Namen existieren. Darum muss man bei der editorId()-Funktion immer die Parameter angeben, die im Kontext nicht vorhanden sind oder sich (wie bei Dir) davon unterscheiden.
Hier sollte es helfen, den Parameter "element" zu benutzen und als Wert das entsprechende Absatz.Objekt (Section) mitzugeben (nicht den Inhalt!).
Die Variable contentTeaser scheint mir hier auch im editorId-Aufruf falsch zu sein, hier muss der Name einer Eingabekomponente (hier wohl die des FS_CATALOGs) benutzt werden. Wenn Du allerdings einfach nur das Formular des ganzen Absatzes anzeigen willst, sollte es reichen, nur den Parameter "element" zu benutzen. Den Absatz selbst musst Du Dir natürlich vorher in einer Variablen merken.
Ich bin mir gerade aus dem Kopf allerdings nicht sicher, ob FS_CATALOG überhaupt zusammen mit editorName funktioniert (man kann editorName nicht bei allen EKs benutzen).
Viele Grüße
Michael
Hallo Christiane,
benötigst Du noch weitere Hilfe oder hat Dir die Antwort von Michael bereits geholfen?
In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere
Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung
gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.
Viele Grüße
Thorsten
Hallo,
danke. Die Antwort hat geholfen.
VG
Christiane Witt.