- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ContentSelect und XML-Feld
Hallo,
ich entschuldige mich im Voraus, falls die Frage extrem blรถd ist. Aber nach รผber einer halben Stunde intensiven Herumprobierens und Suchens habe ich keine Lรถsung gefunden.
Ich habe folgendes Feld in einer Tabellenvorlage:
<CMS_INPUT_COMBOBOX name="carousel_display" singleLine="no">
<ENTRIES>
<ENTRY value="1">
<LANGINFOS>
<LANGINFO lang="*" label="Ja"/>
</LANGINFOS>
</ENTRY>
<ENTRY value="0">
<LANGINFOS>
<LANGINFO lang="*" label="Nein"/>
</LANGINFOS>
</ENTRY>
</ENTRIES>
<LANGINFOS>
<LANGINFO lang="*" label="Im Karussel anzeigen"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>
Nun mรถchte ich via ContentSelect alle Eintrรคge abfragen, die als value "1" haben. So etwas geht hier offenbar nicht:
<EQ attribute="carousel_display" datatype="java.lang.String" value="1" />
Das gleiche bei RADIOBUTTON und SELECT. Das Problem wird hier wohl der datatype sein? Was muss ich tun, um Werte anhand eines XML-Datenfeldes auszulesen?
Vielen Dank!
- Labels:
-
Developers
-
Knowledgebase
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
XML-Felder werden als Text gespeichert. Fรผr den gewรผnschten Einsatzzweck wรคre ein numerischer Typ besser gewesen. Textfelder kรถnnen mit LIKE abgefragt werden.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
XML-Felder werden als Text gespeichert. Fรผr den gewรผnschten Einsatzzweck wรคre ein numerischer Typ besser gewesen. Textfelder kรถnnen mit LIKE abgefragt werden.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Am liebsten wรคre mir ein Boolean gewesen, aber ein solches Feld konnte ich weder auf RADIOBUTTON, noch auf COMBOBOX oder SELECT mappen.
Wenn es diese Mรถglichkeit gรคbe, wรคre sie mir schon lieber, als fรผr ein einfaches an/aus einen XML-Wust in der Datenbank zu haben.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
ein Boolean kann man mit einem CMS_INPUT_TOGGLE umsetzen. Damit wรคre der Fall dann gut umzusetzen. Oder gibt es eine unbedingte Notwendigkeit eine Combobox/Select/Radiobutton zu verwenden?
Viele Grรผรe
Rouven
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nein, eine Notwendigkeit dafรผr gab es nicht. Nur Unwissenheit. Aber ein CMS_INPUT_TOGGLE ist genau das, was ich brauche, vielen Dank!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo, ich habe auch so ein Problem und mรถchte mit contentSelect dieses GUI-Element auslesen:
<CMS_INPUT_COMBOBOX name="cs_kompetenz" sortOrder="ascending" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="database">
<LABELS>
<LABEL lang="*">#item.Name + " [" + #item.SysPk + "]"</LABEL>
</LABELS>
<TABLE>view.t_pdb_kompetenzen</TABLE>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="DE" label="Kompetenz" description="Please choose."/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>
In diesem Fall ist es nicht nur true / false, sondern das Feld cs_kompetenz beinhaltet jeweils einen Foreign Key auf eine andere Tabelle eines Datenbankschemas, z. B. 1, 2, 28, 14, etc...
Wenn ich nunt mit LIKE abfrage:
<QUERY entityType="kompetenzen">
<FILTERPARAM parameter="kompetenz_id" datatype="java.lang.String" value="1"/>
<LIKE attribute="fk_kompetenz" parameter="kompetenz_id"/>
</QUERY>
... erhalte ich aber nicht nur den Datensatz mit der genau passenden ID "1", sondern auch alle die รคhnlich sind, z. B. "12", "14", "21" - also alle Sรคtze, die eine 1 in der ID enthalten.
Wie lรคsst sich das Problem lรถsen, damit ich wirklich nur den Datensatz bekomme, der identisch mit der gewรผnschten ID ist und nicht nur "รคhnlich"?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
LIKE ist in diesem Fall nicht richtig, sie sollten folgendes verwenden:
<EQ attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
ich habe es nun auf diese Weisen versucht:
1. Abfrage in Datenschema:
<QUERY entityType="kompetenzen">
<FILTERPARAM parameter="kompetenz_id" datatype="java.lang.String" value="1"/>
<EQ attribute="fk_kompetenz" parameter="kompetenz_id"/>
</QUERY>
--> Funktioniert nicht; Error code: 20000; Caused by: java.sql.SQLSyntaxErrorException: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. SELECT tablename FROM sys.systables WHERE CAST(tablename AS VARCHAR(128)) = 'T1')
2. Funktion im Header:
<CMS_FUNCTION name="contentSelect" resultname="fr_kompetenz">
<CMS_PARAM name="schema" value="further_content" />
<CMS_VALUE_PARAM name="kompetenz_id" value="1" />
<QUERY entityType="kompetenzen">
<FILTERPARAM parameter="kompetenz_id" datatype="java.lang.Integer" value="1" />
<EQ attribute="fk_kompetenz" parameter="kompetenz_id" datatype="java.lang.Integer" value="1"/>
</QUERY>
</CMS_FUNCTION>
Ich dachte, ich versuch es mal mit Integer - allerdings gibt es kein Ergebnis.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Die Foreign_Keys scheinen in einem Feld vom Typ CLOB gespeichert zu sein? Erscheint mir etwas merkwรผrdig.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ich arbeite mit der Version 5.0 - hat sich hier etwas geรคndert?

