Zum Hauptinhalt gehen

Combobox aus FS_CATALOG befüllen

Kommentare

11 Kommentare

  • Zendesk API User
    Author: mbergmann - 6/2/2017 16:42

    Hallo Jonas,

    D.h. Du hast auf einer fixen Seite einen FS_CATALOG und möchtest die dort eingetragenen Elemente in einer Combobox anzeigen?

    Der Name der EK st_glossary hört sich nach einem Glossar an - gibt es einen bestimmten Grund warum ihr das nicht über Datenquellen modelliert habt? Kannst Du vielleicht den Anwendungsfall etwas genauer beschreiben? Ggf. ist hier schon die Nutzung des FS_CATALOG eine nicht ganz optimale Variante...

    Viele Grüße

    Michael

    0
  • Zendesk API User
    Author: JonasE - 6/6/2017 7:44

    Hallo Michael,

    die Gründe, das Glossar nicht als Datenquelle anzulegen, sind folgende:

    - Mehrere Länderseiten haben unterschiedliche Glossare, die nicht in einzelnen Datenquellen gepflegt werden sollen

         -> Die Einträge sind nicht bloß Übersetzungen, sondern pro Seite unterschiedlich

    - Das System ist momentan darauf ausgelegt, so wenig Datenquellen wie möglich zu verwenden (das kann natürlich entsprechend argumentiert geändert werden)

    Grundsätzlich sehe ich aber für ein einheitliches Glossar den Sinn einer Datenquelle.

    0
  • Zendesk API User
    Author: felix_reinhold - 6/7/2017 14:11

    Hallo Jonas,

    das sollte grundsätzlich gehen. Ich habe leider gerade kein FS System zur Verfügung,

    aber du dürftest über den Wert, den du durch dein Snippet erhältst iterieren können, bspw:

    $CMS_SET(sv_glossary, ref("pageref:glossar_1").page.body("content").getChildren().toList()[1].formData.get(#global.language, "st_glossary").get())$

    $CMS_FOR(sv_for_glossary_item, sv_glossary)$

        $CMS_VALUE(sv_for_glossary_item.item.st_headline)$

    $CMS_END_FOR$

    Wichtig ist letztendlich, dass du in der Schleife das du das ".item" nicht vergisst.

    Beste Grüße

    Felix

    0
  • Zendesk API User
    Author: JonasE - 6/7/2017 14:33

    Hallo Felix,

    danke für deinen Input. Die Ausgabe im HTML-Kanal hatte ich bereits vorher ausprobiert. Mit Combobox ist an dieser Stelle aber keine Combobox im klassischen HTML gemeint, sondern die Eingabekomponente  CMS_INPUT_COMBOBOX. Da ich von keiner Möglichkeit weiß, im Formular-Bereich für die Werte dieser Eingabekomponente zu iterieren, dachte ich eher daran, dass mit einem ähnlichen Zugriff wie "type = database" auf vorgegebene Werte (in diesem Fall einer Liste) zugegriffen werden kann.

    Im Endeffekt geht es nur darum, in einer Linkvorlage eine Auswahlliste, die alle Inhalte aus dem Glossar enthält, anzubieten.

    0
  • Zendesk API User
    Author: pavone - 6/7/2017 14:49

    Hallo Jonas,

    aus meiner Sicht sind die beiden Eingabekomponenten schon vom Datentyp ihrer Einträge her nicht kompatibel (Card vs. Option).

    Womöglich kannst du einen ValueService implementieren, der die Daten aus dem CATALOG liest und passende Elemente für die Combobox liefert.

    Ich würde aber auch zu einer Lösung mit Datenquellen tendieren.

    Viele Grüße

    Tim

    0
  • Zendesk API User
    Author: felix_reinhold - 6/7/2017 15:01

    @Tim:

    Innerhalb einer ValueService-Implementierung können Werte aus FirstSpirit-Eingabekomponenten verwendet werden. Unterstützt wird diese Funktionalität für die Eingabekomponenten:

    • CMS_INPUT_TEXT
    • CMS_INPUT_TEXTAREA
    • CMS_INPUT_DATE
    • CMS_INPUT_TOGGLE
    • CMS_INPUT_NUMBER

    Leider, leider trotz FeatureRequests :smileysad:

    0
  • Zendesk API User
    Author: pavone - 6/7/2017 15:06

    Das stimmt, aber das betrifft ja nur die Parameter, die dem ValueService übergeben werden. Ich verstehe es so, dass CATALOG und Combobox nicht im selben Formular sind. Über den SpecialistBroker, den der ValueService erhält, sollte es doch möglich sein sich die Glossar-Seite und das darin enthaltene Catalog manuell zu holen.

    0
  • Zendesk API User
    Author: mbergmann - 6/7/2017 16:52

    Hallo zusammen,

    Kleiner Hinweis: ValueService ist hier die falsche Adresse - es geht hier ja um die Wertemenge der Combobox. Dazu müsste man einen GomIncludeValueProvider implementieren. Der wird dann als <public>-Komponente in der module.xml deklariert und in der Combobox mit

    <CMS_INCLUDE_OPTIONS type="PUBLIC">

    eingebunden.

    Ich denke aber auch, dass eine Lösung über Datenquellen sinnvoller wäre.

    Viele Grüße

    Michael

    0
  • Zendesk API User
    Author: thmarx - 6/12/2017 9:33

    Hallo Jonas,

    benötigst Du noch weitere Hilfe oder haben Dir die Antworten 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

    0
  • Zendesk API User
    Author: JonasE - 6/12/2017 9:50

    Hallo Thorsten,

    die Frage zielte darauf ab, ob es eine unkomplizierte Möglichkeit der Einbindung in die Combobox gibt. Da dies nicht der Fall zu sein scheint, kann ich die Frage leider nicht als beantwortet ansehen. Die Hinweise mit dem GomIncludeValueProvider und alle weiteren Beiträge waren aber hilfreich. Vielen Dank an alle und schöne Grüße.

    0
  • Zendesk API User
    Author: philipp_mueller - 1/15/2018 9:59

    Halbes Jahr später... aber ich stand gerade vor einer ähnlichen Aufgabe und habe es mit einem FS_BUTTON gelöst, der wiederum via Beanshell eine Combobox aus den Elementen einer FS_CATALOG zusammenstellt und in einem Dialogfenster anzeigt: Re: FS_CATALOG copy Funktion

    0

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.