Funktionen in der Vorschau
Inhaltsverzeichnis |
Um Projektentwicklern die Umsetzung komplexer Anwendungsfälle im Vorschaubereich zu ermöglichen, bietet der ContentCreator mehrere interne Java-Klassen an, die im Verbund mit der Eingabekomponente FS_BUTTON besondere, inhaltsbezogene Funktionen umsetzen (über sogenannte „FS_BUTTON-Handler-Klassen“).
Die nachfolgend aufgeführten Klassen unterstützen eine Verwendung sowohl in onClick- als auch in onDrop-Attributen von FS_BUTTON-Komponenten. Damit Drag-and-drop funktioniert, muss in der oder den Absatz- bzw. Tabellenvorlage/n, die zum Erstellen neuer Inhalte per Drag-and-drop verwendet werden soll/en, die Combobox Drop Editor auf dem Register „Eigenschaften“ der jeweiligen Vorlage geeignet konfiguriert werden.
Hinweis: Innerhalb der Formularvorlage können die FS_BUTTON-Handler-Klassen über die Kurzform „class:KURZFORM“ angegeben werden (z. B.: onClick="class:NewSection" statt onClick="class:de.espirit.firstspirit.webedit.server.executables.NewSectionExecutable"). |
Absatz erstellen ("NewSection")
de.espirit.firstspirit.webedit.server.executables.NewSectionExecutable
Eine Klick-Aktion auf den FS_BUTTON löst die Anzeige einer Liste von Absatzvorlagen aus, die im (durch die Parameter) definierten Kontext (Seite und Inhaltsbereich) verfügbar sind. Nach Auswahl einer dieser Vorlagen durch den Benutzer wird ein Bearbeitungsdialog angezeigt, über den die Inhalte des neuen Absatzes verändert und gespeichert werden können. Ist nur eine Absatzvorlage im Kontext verfügbar, wird der Bearbeitungsdialog direkt angezeigt.
Bei einer Drop-Aktion auf den FS_BUTTON wird ein neuer Absatz angelegt, sofern
- es nur eine passende Absatzvorlage gibt (muss für den jeweiligen Inhaltsbereich der Seite zugelassen sein und das Drop-Objekt muss kompatibel zum Drop Editor sein) und
- der neu anzulegende Absatz keine speicherverhindernden Regelverletzungen (scope="SAVE") und
- keine unausgefüllten Pflichtfelder (z. B. Parameter allowEmpty="no")
aufweist.
Ansonsten wird die Liste der zur Verfügung stehenden Absatzvorlagen oder der Bearbeitungsdialog des Absatzes angezeigt.
Hinweis: Das Erstellen eines neuen Absatzes ist auch programmatisch über das Interface NewSectionOperation (Package de.espirit.firstspirit.webedit.server, FirstSpirit Access-API) möglich. Mit der Methode preselectedLanguage kann eine Sprache vorgegeben werden. Diese wird dem Redakteur beim Öffnen des Formulars als vorkonfigurierte Sprache zur Bearbeitung angezeigt. Wird keine Vorauswahl getroffen, wird die Sprache der Vorschau als Sprache zur Bearbeitung angezeigt. Wenn in der Vorauswahl eine Sprache gewählt wird, die im Projekt nicht konfiguriert ist, wird eine Fehlermeldung ausgegeben.
Parameter | Beschreibung |
---|---|
page | ID oder UID der Seite
|
body | Anzeigename des Inhaltsbereichs |
store | Inhalte-Verwaltung oder Globale Inhalte |
reload | Partielles Nachladen |
Beispiel: Neuen Absatz anlegen (Inhalte-Verwaltung)
In der Formularvorlage wird einfach die gewünschte FS_BUTTON-Handler-Klasse (hier: onClick="class:NewSection") angegeben. Die Formularvorlage definiert die Darstellung des Buttons (label, style, icon) und die mit dem Button verknüpfte Aktion (hier: Absatz einfügen):
<FS_BUTTON
name="pt_createSection"
hidden="yes"
icon="fs:new"
onClick="class:NewSection"
onDrop="class:NewSection"
style="firstspirit"
useLanguages="no">
<LANGINFOS>
<LANGINFO lang="*" label="Create section"/>
<LANGINFO lang="DE" label="Absatz anlegen"/>
</LANGINFOS>
</FS_BUTTON>
Im HTML-Vorlagensatz wird innerhalb einer $CMS_VALUE(...)$-Anweisung über die fsbutton(...)-Funktion der entsprechende HTML-Code gerendert. Dazu muss die Eingabekomponente (hier: „pt_createSection“) über den Pflichtparameter editorName angegeben werden. Als weitere Parameter werden die Seiten-ID (#global.page.id) und der Inhaltsbereich (hier: „Content center“) angegeben (weitere Beispiele siehe Funktion fsbutton(...)).
<span$CMS_VALUE(
fsbutton(
editorName:"pt_createSection",
parameter:{
"page":#global.page.id,
"body":"Content center"
}
)
)$></span>
Seite erstellen ("NewPage")
de.espirit.firstspirit.webedit.server.executables.NewPageExecutable
Eine Klick-Aktion löst die Anzeige des Dialogs „Neue Seite anlegen“ aus. Dem Benutzer stehen alle konfigurierbaren Einstellungen zur Verfügung, um die Seite zu benennen, ihren Speicherort zu definieren und eine passende Vorlage für Layout und ggf. Inhalte zu wählen.
Auch bei einer Drop-Aktion auf den FS_BUTTON wird der Dialog „Neue Seite anlegen“ geöffnet, und zwar wenn es sich beim gedroppten Objekt um eine FirstSpirit-Seite oder -Seitenreferenz handelt. Folgende Einstellungen sind im Dialog vorbelegt:
- Namen: sprachabhängige Anzeigenamen der gedroppten Seite/nreferenz
- Navigation: Menüpunkt unterhalb der aktuellen Seite anlegen
- Layout: Layout und Inhalt der gedroppten Seite/nreferenz übernehmen
Mit diesen Einstellungen wird also eine Kopie der gedroppten Seite/nreferenz unterhalb der aktuellen Seite angelegt. Sie können aber in diesem Dialog vom Redakteur nach Bedarf geändert werden.
Parameter | Beschreibung |
---|---|
keine | |
Beispiel:
<span$CMS_VALUE(
fsbutton(
editorName:"pt_createPage"
)
)$></span>
Datensatz erstellen ("NewContent")
de.espirit.firstspirit.webedit.server.executables.NewContentExecutable
Eine Klick-Aktion löst die Anzeige des Dialogs „Neuer Datensatz“ aus, mit dem die Inhalte des neuen Datensatzes bearbeitet und folglich gespeichert werden können. Der in dieser Aktion erstellte Datensatz basiert auf der Tabellenvorlage der Datenquelle, die über den Parameter content2 angegeben wird.
Bei einer Drop-Aktion auf den FS_BUTTON wird in der Datenquelle, die über den Parameter content2 angegeben wird, ein neuer Datensatz angelegt, sofern
- in der zugrundeliegenden Tabellenvorlage ein zum Drop-Objekt kompatibler Drop Editor konfiguriert ist und
- der neu anzulegende Datensatz keine speicherverhindernden Regelverletzungen (scope="SAVE") und
- keine unausgefüllten Pflichtfelder (z. B. Parameter allowEmpty="no") aufweist.
Ansonsten wird der Bearbeitungsdialog des neu anzulegenden Datensatzes angezeigt.
Parameter | Beschreibung |
---|---|
content2 | ID oder UID einer Datenquelle |
Beispiel:
<span$CMS_VALUE(
fsbutton(
editorName:"pt_createDataset",
parameter:{
"content2":"products"
}
)
)$></span>
Alternativ können neue Datensätze auch in der Datenquellen-Ansicht erstellt werden.
Listeneintrag erstellen ("NewListEntry")
de.espirit.firstspirit.webedit.server.executables.NewListEntryExecutable
Diese Klasse steht für folgende Listen-Eingabekomponenten-Typen zur Verfügung:
und ermöglicht die Erstellung eines neuen Eintrags in diesen Eingabekomponenten.
Eine Klick-Aktion auf den FS_BUTTON löst die Anzeige einer Liste von Vorlagen aus, die in der durch den Parameter editorId definierten Listen-Eingabekomponente verfügbar sind. Nach Auswahl einer dieser Vorlagen durch den Benutzer wird ein Bearbeitungsdialog angezeigt, über den die Inhalte der Eingabekomponente eingegeben und gespeichert werden können. Ist nur eine Vorlage im Kontext verfügbar, wird der Bearbeitungsdialog direkt angezeigt.
Bei einer Drop-Aktion auf den FS_BUTTON wird ein neuer Listeneintrag angelegt, sofern
- es nur eine passende Vorlage gibt, die aufgrund der Konfiguration (das Drop-Objekt muss kompatibel zum Drop Editor sein) akzeptiert wird und
- der neu anzulegende Listeneintrag keine speicherverhindernden Regelverletzungen (scope="SAVE") und
- keine unausgefüllten Pflichtfelder (z. B. Parameter allowEmpty="no")
aufweist.
Ansonsten wird die Liste der zur Verfügung stehenden Vorlagen oder der Bearbeitungsdialog der Eingabekomponente angezeigt.
Per Regeln definierte Einschränkungen (z. B. Property NEW für FS_CATALOG) können durch die Verwendung dieser Handler-Klasse umgangen werden. |
Die Verwendung dieser Klasse ist nur für die Vorschau vorgesehen, nicht für die Verwendung in Formularen. Im Formular kann der zugehörige FS_BUTTON mit hidden="yes" ausgeblendet werden. |
Parameter | Beschreibung |
---|---|
editorId | Bezeichner einer Listen-Eingabekomponente |
json | Kompatibilität ContentCreator |
reload | Partielles Nachladen |
Beispiel:
<span$CMS_VALUE(fsbutton(
editorName: "button",
parameter: {
"editorId": editorId(editorName:"catalog_links", json: true)
}
))$></span>
Navigation bearbeiten ("EditMenu")
de.espirit.firstspirit.webedit.server.executables.EditMenuExecutable
Diese Klasse öffnet den Dialog „Navigation bearbeiten“, in dem die Struktur des Projekts angepasst werden kann (d.h., Ordner der Struktur-Verwaltung können verschoben und die Menüreihenfolge verändert werden). Außerdem können über den Dialog die Menünamen der Struktur-Ordner bearbeitet werden.
Alternativ kann die Navigation auch komfortabel über die Navigationsleiste am linken Bildschirmrand bearbeitet werden.
Parameter | Beschreibung |
---|---|
node | ID oder UID eines Elements der Struktur-Verwaltung |