rbitdd
Returning Responder

Kombinierte Anzeige von Werten für Combobox

Jump to solution

Hallo Community,

ich würde gerne über eine Combobox eine 1:N-Verbindung zwischen zwei Tabellen (Anzeigen und Kontakt) machen.

Da die Auswahl der zur Verfügung stehenden Felder in Kontakt nicht sehr schlüssig, bzw. nicht sehr eindeutig ist, würde ich gerne für den Redakteur für die Auswahl den Vor- und Nachnamen anzeigen lassen.

Geht das auch mit der Combobox, oder muss ich wirklich, wie meine Kollegen gerade angeraten haben, mich einer anderen Komponenten bedienen?

Viele Grüße

D.

1 Solution

Accepted Solutions
hoebbel
Crownpeak employee

Und

<LABEL lang="*">#item.Vorname + " " + #item.Nachname</LABEL>

bzw.

<LABEL lang="*">#item.Nachname + ", " + #item.Vorname</LABEL>

funktioniert nicht?

View solution in original post

0 Kudos
8 Replies
StefanSchulz
I'm new here

Hi D.,

bin mir nicht ganz sicher, ob der doch sehr knappen Beschreibung, aber prinzipiell erlaubt die Verwendung der Combobox in Verbindung mit CMS_INCLUDE_OPTIONS eine Nutzung von Fremdschlüsselbeziehungen auch mit Angabe eines Ausdrucks für die Darstellung der auswählbaren Einträge. In der Online-Dokumentation findet sich unter Type DATABASE eine entsprechende Beschreibung mit ein paar Beispielen.

Eine Combobox kann jedoch immer nur ein Element referenzieren, deshalb bin ich mir wegen 1:N für Anzeigen:Kontakt (oder ist die Verbindung evtl. umgekehrt?) nicht sicher, was die Wahl der Combobox-Komponente betrifft.

Gruß

Stefan

0 Kudos

Guten Morgen,

die Beziehung ist tatsächlich 1 Kontakt : N Anzeigen.

Meine Eingabekomponente Combobox sah so aus:

<CMS_INPUT_COMBOBOX name="cs_Kontakt" hFill="yes" useLanguages="no">

    <CMS_INCLUDE_OPTIONS type="database">

      <LABELS>

        <LABEL lang="*">#item.Nachname</LABEL>

      </LABELS>

      <TABLE>Kontakte.kontakte</TABLE>

    </CMS_INCLUDE_OPTIONS>

    <LANGINFOS>

      <LANGINFO lang="*" label="Kontakt" description="Bitte wählen Sie die Kontaktperson aus."/>

      <LANGINFO lang="EN" label="contact" description="Please choose the contact person."/>

    </LANGINFOS>

  </CMS_INPUT_COMBOBOX>

Ich würde das Label gerne um #item.Vorname erweitern, so dass Vor- und Nachname angezeigt werden.

Die Definition wird auch nicht als Fehler angesehen, jedoch wird nur der erste Wert angezeigt.

Viele Grüße

D.

0 Kudos
hoebbel
Crownpeak employee

Und

<LABEL lang="*">#item.Vorname + " " + #item.Nachname</LABEL>

bzw.

<LABEL lang="*">#item.Nachname + ", " + #item.Vorname</LABEL>

funktioniert nicht?

0 Kudos
rbitdd
Returning Responder

Herr Höbbel,

auf die Idee wär ich NIE gekommen. Danke schön!

Viele Grüße

D.

0 Kudos
rbitdd
Returning Responder

Man beachte übrigens auch die doppelten Anführungszeichen. Mit einfachen klappt das nicht so wirklich!

0 Kudos
TimoMeister
Returning Responder

Geht das auch mit Tabellen mit Fremdbeziehungen?

Habe es so versucht, leider ohne Erfolg:

  <CMS_INPUT_COMBOBOX name="cs_cat2" hFill="no" singleLine="no" sortOrder="ascending" useLanguages="no">

    <CMS_INCLUDE_OPTIONS type="database">

      <LABELS>

        <LABEL lang="*">#item.name_cat + " " +item.cad_detail_category_type.name_type</LABEL>

      </LABELS>

      <TABLE>FSDatabase.cad_details_category</TABLE>

    </CMS_INCLUDE_OPTIONS>

    <LANGINFOS>

      <LANGINFO lang="*" label="Select Maincategory"/>

      <LANGINFO lang="DE" label="Auswahl Hauptkategorie"/>

    </LANGINFOS>

  </CMS_INPUT_COMBOBOX>

cad_detail_category_type ist der Fremdschlüssel. Ist eine 1:n Beziehung.

0 Kudos

Also, auf den ersten Blick: Da fehlt die # vor dem item...

Ansonsten würde ich mal in der Ausgabe versuchen, wie du an den Wert kommen kannst. Imho sollte dem nichts im Weg stehen auf den gleichen Weg die Anzeige zu versuchen.

Ich würde auch mal prüfen, ob das Feld vielleicht sprachabhängig ist. (Suffix _DE/_EN) Bei sprachabhängigen Werten hatten wir Schwierigkeiten oder es hat gar nicht funktioniert. Das weiß ich gerade nicht mehr...

Auf jeden Fall: Viel Erfolg. Smiley Happy

Wow, danke für die schnelle Antwort!

Tatsächlich lag es an der #.

Bei soviel Templateprogrammierung sieht man meistens den Wald vor lauter Bäumen nicht.

Danke Smiley Happy