Search the FirstSpirit Knowledge Base
Hallo zusammen,
in einem Datenbank Formular haben wir ein CMS_INPUT_DOM Element definiert. Den HTML Inhalt dieses Elements wollen wir nun für jeden Datensatz auslesen. Einfache CMS_INPUT_TEXT Felder können wir prima auslesen über:
entity.getValue("name_" + language.getAbbreviation());
Habe ich aber eine Beschreibung in einem CMS_INPUT_DOM, so gibt entity.get("dom_element_" + language.getAbbreviation()) ein EditorWrapper Objekt zurück, aus dem ich nicht das DomElement bekomme um den HTML Inhalt auszulesen.
Über entity.get("dom_element_" + language.getAbbreviation()).toString() bekommt man den Inhalt des Elements zwar ausgeliefert, jedoch mit XML Formular Beschreibungstags die man nicht in der Ausgabe haben will.
Ich weiss, es gibt die Möglichkeit über den Store das DomElement zu holen, jedoch werden hier wieder DB Requests abgesetzt, die man eigentlich nicht benötigen sollte.
Store contentStore = userService.getStore(Type.CONTENTSTORE, false);
Content2 content2 = (Content2) contentStore.getStoreElement("glossary", IDProvider.UidType.CONTENTSTORE);
Dataset dataset = content2.getDataset(glossar_entry);
FormData formData = dataset.getFormData();
DomElement dom = (DomElement) formData.get(language, "cs_dom_element").get();
String glossar_entry_desc = dom.toText(true);
Ich weiss, es gibt die Möglichkeit über den Store das DomElement zu holen, jedoch werden hier wieder DB Requests abgesetzt, die man eigentlich nicht benötigen sollte.
An der Stelle werden nur DB-Requests abgesetzt, wenn der Datensatz noch nicht komplett geladen ist. Das würde aber bei "entity.getValue(..)" genauso passieren.
Danke für die schnelle Antwort.
Das DB Requests nur abgesetzt werden wenn die Entities nicht vollständig geladen sind hatte ich auch schon bemerkt. Der Request zum Abholen der Table Informationen wird aber nach meinen Beobachtungen aus dem Log bei jedem Content2 Aufruf abgesetzt.
Content2 content2 = (Content2) contentStore.getStoreElement("glossary", IDProvider.UidType.CONTENTSTORE);
Habe ich also mittlerweile schon den effektivsten Weg das DomElement aus dem Entity "glossar_entry
" zu holen?