mstaender
I'm new here

CMS_INPUT_COMBOBOX mit GomIncludeValueProvider befüllen und Parameter aus anderem Feld übergeben

Jump to solution

Hi,

wieder melde ich mich mit einem wilden Konstrukt und hoffe, dass jemand eine Idee hat Smiley Wink

Ich habe ein Formular in dem eine CMS_INPUT_COMBOBOX  enthalten ist, welche es ermöglicht einen String X (eine "ID einer Konfiguration") auszuwählen. Nun benötige ich ein weiteres Feld Y, dessen Werte von einem einfachen GomIncludeValueProvider<String> kommen, welcher auch Parameterizable implementiert. Der Haken an dem ich derzeit Zeit verbringe besteht darin, dass der Wert aus Feld X als Parameter an meinen ValueProvider übergeben werden sollen.

Ich stelle mir so etwas in der Art vor:

  <CMS_INPUT_COMBOBOX

    name="tt_template_id"

    allowEmpty="yes"

    hFill="yes"

    singleLine="no"

    sortOrder="ascending"

    useLanguages="no">

    <CMS_INCLUDE_OPTIONS type="public">

      <NAME>AvailableTemplatesValueProvider</NAME>

      <PARAMS>

        <PARAM name="config_id">N/A</PARAM>

      </PARAMS>

    </CMS_INCLUDE_OPTIONS>

    <LANGINFOS>

      <LANGINFO lang="DE" label="Template-ID" description="Bitte wählen Sie das Template aus."/>

      <LANGINFO lang="*" label="Template-ID" description="Please select the template."/>

    </LANGINFOS>

  </CMS_INPUT_COMBOBOX>

Analog zu Datenquellen habe ich versucht den Parameter über Regeln zu setzen:

<RULES>

    <ON_EVENT>

        <WITH>

            <PROPERTY name="VALUE" source="tt_configuration_id"/>

        </WITH>

        <DO>

            <PROPERTY name="???.config_id" source="tt_template_id"/>

        </DO>

    </ON_EVENT>

</RULES>

Leider habe ich bislang noch keine Idee was ich bei der Property eintragen müsste um den Parameter zu setzen. Laut Doku scheint "QUERY" bei dem Attribut "name" ein Sonderfall, wie würde ich denn den Parameter oben ändern?

MfG Marcus

0 Kudos
1 Solution

Accepted Solutions
StefanSchulz
I'm new here

Hallo Marcus,

solcherart Parameter für IncludeOptions werden bislang leider nur für den Typ database, nicht jedoch für public unterstützt.

Mir ist leider auch kein aktueller Weg eingefallen, wie man dies realisieren könnte. Auch bei FS_INDEX, die fachlich als Alternative funktionieren könnte, ist die API für die Parameterisierung der Auswahlmenge nicht öffentlich.

Ich befürchte, für deinen Weg gibt es noch keine fertige Lösung.

Eventuell kannst du über den Einsatz eines FS_BUTTONs eine Lösung herstellen, indem du dort ein Formular mit entsprechenden Einschränkungen für die Auswahl öffnest dun die ausgewählten Werte dann in anderen Eingabekomponenten speicherst.

Beste Grüße

Stefan

View solution in original post

0 Kudos
4 Replies
StefanSchulz
I'm new here

Hallo Marcus,

solcherart Parameter für IncludeOptions werden bislang leider nur für den Typ database, nicht jedoch für public unterstützt.

Mir ist leider auch kein aktueller Weg eingefallen, wie man dies realisieren könnte. Auch bei FS_INDEX, die fachlich als Alternative funktionieren könnte, ist die API für die Parameterisierung der Auswahlmenge nicht öffentlich.

Ich befürchte, für deinen Weg gibt es noch keine fertige Lösung.

Eventuell kannst du über den Einsatz eines FS_BUTTONs eine Lösung herstellen, indem du dort ein Formular mit entsprechenden Einschränkungen für die Auswahl öffnest dun die ausgewählten Werte dann in anderen Eingabekomponenten speicherst.

Beste Grüße

Stefan

0 Kudos

Hi Stefan,

danke erst einmal für die Antwort. So etwas in der Art dachte ich mir schon. Vielleicht klappt es auch anders:

kann man aus einem GomIncludeValueProvider über den Kontext an das Formular heran kommen für das versucht wird die Daten zu laden?

Dann könnte ich natürlich notwendige Werte abholen aber bisher habe ich noch nicht durchschaut ob/wie das gehen könnte...

MfG Marcus

0 Kudos

Hallo Marcus,

an das Live-Formular kommt man auf diesen Weg leider nicht heran.

Beste Grüße

Stefan

0 Kudos

Hi Stefan,

zu schade, eventuell wäre es eine Überlegung wert alle Parameter gleich (dynamisch setzbar) zu machen Smiley Wink

Ich habe es nun doch wieder über eine Datenquelle mit den Konfigurationen gelöst, welche in den globalen Settings als Liste angezeigt werden.

MfG Marcus

0 Kudos