arnbae
I'm new here

Liste der Absätze in Linkvorlage anzeigen

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"

  • Scheint in Links nicht zu laufen
  • Mehrfachauswahl scheidet aus, ich brauche genau einen Verweis

FS_REFERENCE mit Eingabe des Links

  • Fehlerträchtig: Redakteur kann auch eine andere als die aktuelle Seite anwählen
  • Bei Mehrfach-Referenzierung einer Seite stelle ich mir auch Schwierigkeiten vor
  • Für den Redakteur erscheint das Prozedere (Seite erst in Struktur, dann Link auswählen, dann Absatz) als unnötig

CMS_COMBOBOX mit CMS_INCLUDE_OPTIONS vom Typ "public"

  • Da bräuchte ich erst einmal eine Aussage, ob das nicht ein Holzweg ist
  • Stehen bestehende FS-Objekte auch schon als PUBLIC-Hotspots zur Verfügung, so dass man sich ein eigenes Modul sparen kann?

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?

0 Kudos
14 Replies

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

0 Kudos

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

0 Kudos

animierte-smilies-denkende-009.gif

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 Smiley Wink

Beste Grüße

Stefan

0 Kudos

Danke! Dann schließen wir den Thread, und ich überleg mir das :smileylaugh:

0 Kudos

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

0 Kudos