Search the FirstSpirit Knowledge Base
Hallo liebe Community,
die Frage klingt trivialer, als sie ist - oder ich denke zu sehr im Kreis herum.
Ziel: Per Link in einen Dokument auf einen anderen Absatz im selben Dokument verweisen
Voraussetzung: Aktuelles FS 4.2.x
Genauer: In einer generischen Linkvorlage soll der Redakteur genau einen Absatz des aktuellen Dokuments auswählen können. Das Ganze soll / könnte wie das Absatz-Dropdown in der Komponente FS_REFERENCE aussehen, nur eben mit einer festen Verlinkung auf das aktuelle Dokument.
Hier ein paar Alternativen, die ich geprüft habe:
FS_LIST mit datasource "page"
FS_REFERENCE mit Eingabe des Links
CMS_COMBOBOX mit CMS_INCLUDE_OPTIONS vom Typ "public"
Danke & Grüße,
Arndt
P.S.: Früher (FS 3.1) ging so etwas schon einmal: Linkvorlage, Preset des Linkziels auf "this", alle Felder bis auf "sections" verbergen, fertig. Gibt es für diese Anwendung einen adäquaten Ersatz, und ich bin einfach nur betriebsblind?
Sorry, die sportliche Frage habe ich leider nicht verstanden :smileyconfused:
Was genau ist mit API gemeint? Wann willst du was mit was füllen?
Gruß
Stefan
Hmmm, das war vielleicht auch ein Gedankensprung zu viel. Ich dachte zwischendurch mal in meiner Verzweiflung, dass man vielleicht über "CMS_INCLUDE_OPTIONS", das neue Schweizer Taschenmesser der Listen-Befüllung, auch die Absatz-Liste über eine CMS_COMBOBOX abbilden könnte, die man dynamisch füllt.
Dazu bräuchte man ja einen Hotspot eines Moduls, welcher die Liste füllt, nicht wahr? Bei der Gelegenheit sind mir dann 1.000 Möglichkeiten für eine Verwendung von CMS_INCLUDE_OPTIONS eingefallen (abseits von "language", "database" und "templateset"). Und da war natürlich eine erste Frage, ob man immer für einen "Public"-Hotspot ein Modul schreiben muss, oder ob es in FS schon "natürliche" Hotspots gibt, die man anzapfen könnte.
Aber wie gesagt - nur am Rande. Musst Du nicht drauf eingehen.
Grüße,
Arndt
Ok, ja, für eigene Optionen benötigt man ein Modul (muss ja kein einzelnes sein) und eine GomIncludeValueProvider Implementierung. Was die tut und woher die ihre Daten bezieht, ist ja frei. Zugriff auf FS-Funktionalitäten sind gegeben. Allerdings hat der Provider keine Kontextinformationen, was das beinhaltende Element angeht. Auch kann der Provider aktuell (Version 5) nicht über die Regeln gesteuert werden.
Möglichkeiten, die ich sehe:
1. Feature-Request stellen, der eine entsprechende Erweiterung der API für CMS_INCLUDE_OPTIONS Hotspot-Implementierungen bietet. (Wird aber einige Versionen dauern.)
2. Eine eigene Eingabekomponente schreiben, die dann auch kontextbehaftet ist. Steuerung über Regeln gibt es hier allerdings auch noch nicht, die Schnittstellen sind noch nicht API (könnte man natürlich beantragen bzw. beauftragen, geht aber auch erst in Version 5).
Für Version 4 besteht wohl nur die eingeschränkte Möglichkeit 2 (ohne Regeln). Ist ein bisschen aufwändiger als der Value Provider, aber auch nicht so schwer
Beste Grüße
Stefan
Danke! Dann schließen wir den Thread, und ich überleg mir das :smileylaugh:
Hallo,
noch ein Folgeproblem zu "sections='ONLY'". Ich habe die Absatzliste an anderer Stelle in einem normalen Link eingesetzt (also eine Linkvorlage nur mit einem Verweis auf Absätze). Jetzt stelle ich fest, dass die "sitestoreref" des Links auf den PAGESTORE verweist. Aber erst bei der Generierung der Seite motzt FS dann, wenn man die sitestoreref trotzdem mit CMS_REF verwendet.
Heißt das letztendlich, dass ich von Hand den Typ des Links prüfen muss? Wenn ja, was ist der saubere Weg? Momentan verwendet ich:
$CMS_IF(#link.sitestoreref.getStoreType().toString() == "PAGESTORE")$
$CMS_REF(#global.ref)$
$CMS_ELSE$
$CMS_REF(#link.sitestoreref)$
$CMS_END_IF$
Grüße,
Arndt