- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wert eines Datensatzes per Scripting auslesen
Hallo,
ich habe einer Seite einen Datensatz aus einer Datenquelle zugeordnet (In der Seitenvorlage CMS_INPUT_COMBO_BOX mit CMS_INCLUDE_CONTENT)
nun mรถchte ich an einen bestimmten Stringwert aus dieser Datenquelle (per Script) auslesen.
Ich habe folgendes versucht
ComboboxEditorValue ctobj = (ComboboxEditorValue)sourcePage.getData().get("st_teasertyp").getEditor();
wenn ich fortsetze mit
Object obj= ctobj.get(ctx.getLanguage());
Bekomme ich als Klasse die inner class
de.espirit.firstspirit.store.access.contentstore.ContentOptionFactory$ContentOption
An dieser Stelle komme ich schon nicht weiter; irgendwann mรผรte ich noch die Tabellenspalte spezifizieren, um an den Wert zu kommen,
der mich interessiert..
Mit einem $CMS_VALUE$ komme ich per
$CMS_SET(setContentTyp,sourcepage.getData().get("st_teasertyp").getEditor().get(context.getProject().getMasterLanguage()).getValue().getValue("techname"))$
an mein Ziel, die Kette ist aber im Eclipse so nicht lauffรคhig - hier bekomme ich nach dem getEditor() den Fehler (genauso)
The method getValue() is undefined for the type capture#11-of ?
Irgendwas mache ich da noch falsch.. (jemand eine Idee?)
Danke & Gruร,
Michael
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Michael,
Wenn ich mal annehme, dass die Werte in der Combobox auch aus einer Datenquelle kommen, komme ich mit "ctobj.get(ctx.getLanguage()).getValue(); an die ausgewรคhlte "Entity"
Language lang = context.getProject().getMasterLanguage();
Content2 C2contentTable = cs.getContent2ByName("dq_ohb_rgl_import");
Data erg = C2contentTable.getDataObject(dbRow);
ComboboxEditorValue cbe = (ComboboxEditorValue) erg.get("cs_Handbuch").getEditor();
Entity ent = cbe.get(lang).getValue();
dq_ohb_rgl_import ist eine Datenquelle
cs_Handbuch ist das Comboboxfeld in der Datenquelle
Grรผรe aus DD
Andreas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Andreas,
danke fรผr die Unterstรผtzung.
Mein Fall ist etwas anders; ich habe die Zuordnung aus einer Seite heraus, รผber eine Combox, in der ich den Datensatz auswรคhle.
Wie gesagt, Ich bekomme als Objekt fรผr den ComboBoxEditorValue die innere Klasse "ContentOptionFactory.ContentOption". Ich kann daraufhin leider nicht casten, da sie im Prinzip nicht sichtbar ist. Es hilft mir leider auch nicht, daร diese die Klasse "OptionImpl "extended; wenn ich nรคmlich versuche,
Object optObject = ctobj.get(ctx.getLanguage());
OptionImpl opt = (OptionImpl)optObject;
fรคllt er mir genauso auf die Fรผรe; ich weiร jetzt auch wieso:
in meinem Modul (bei Ausfรผhrung der Methode, nicht zur Compilezeit) bekomme ich die Fehlermeldung:
java.lang.NoClassDefFoundError: de/espirit/firstspirit/access/editor/value/OptionImpl
hmmmm.... wenn ich die client.jar in das Modul packe wรผrde es vermutlich mรถglicherweise gehen.. aber: ist es sinnvoll (gerade im Hinblick auf Serveraktualisierung ?) - andere Mรถglichkeiten ?
Edit: Ich stelle gerade fest, daร ich im Eclipse mit 4.2 arbeite, es aber auf einem 4.1er teste; vergeรt die Ausfรผhrungen vorerst.. :smileyblush:
Edit 2: In 4.1 ist es so, daร die innere Klasse ContentOption die Klasse Option extended.
Die Fehlermeldung, die ich beim casten auf (Option) erhalte ist:
java.lang.IncompatibleClassChangeError: Found class de.espirit.firstspirit.access.editor.value.Option, but interface was expected
Gruร,
Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Michael,
da kann ich erst mal nicht weiter helfen (hab kein 4.1 mehr), Wenn ich mich ganz dunkel erinnere hatte ich glaub so was รคhnliches. Die Combobox lieferte mir glaub immer nur die ausgewรคhlte ID des Datensatzes, keine Entity (wenn ich die von einer Inhaltsseite ermittelt habe)
Dann musste man mittels der gelieferten ID den zugehรถrigen Datensatz suchen.
Wie gesgt, das nur unter Vorbehalt. Da muss ein Profi ran
Gruร
Andreas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
wรคre ein Workaround.. wie kรคme ich sinnvollerweise an die ID heran ?
sourcePage.getData().get("st_teasertyp").getEditor().getValue()
gibt sie mir zwar zurรผck, ist leider deprecated.. :smileycry:
Gruร,
Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hmm, ich bekomme wie gesagt die Entity geliefert.
Vieleicht nur "sourcePage.getData().get("st_teasertyp")"??? Irgendetwas muss man eigentlich bekommen ...
Wenn Du die ID hast => KeyValue.add(...) liefert Fehler
Mehr kann ich leider auch nicht helfen (und bin nun erst mal in Urlaub)
Gruร Andreas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Es geht um die ID des Datensatzes, richtig?
Auf der Option kรถnnen sie einfach ein getValue() machen, dann bekommen Sie die Entity zurรผck. Falls nicht, bitte mal das komplette Skript, die verwendeten Eingabekomponenten und die FirstSpirit Version posten.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, (gerade frisch aus dem Urlaub zurรผck)
Ich habe es mit getValue zurรผck - sie ist wie gesagt, da oben zwar deprecated, aber das war mir jetzt auch egal..
Ansonsten habe ich es mittlerweile jetzt anders gelรถst - ich hole mir die Werte einmalig aus der DB heraus (sind nicht viele), packe sie in eine Map und gleiche sie jeweils mit der zugeordneten ID ab.
Gruร,
Michael

