Search the FirstSpirit Knowledge Base
Hallo,
wir kann ich in einer JSP über das Modul DynamicDatabaseAccess Inhalte von verschiedenen Editoren ausgeben? Ich habe z.B. eine CMS_INPUT_TEXTAREA, CMS_INPUT_COMBOBOX oder ein CMS_INPUT_LINK im Formular der Datenquelle. Wie komme ich an die Inhalte in diesen Eingabekomponenten?
result.contact (Textarea)
result.link (Link)
result.country (combobox)
liefern Objekte vom Typ EditorWrapper. Was mache ich damit? Wenn ich es richtig verstanden habe, gehört der EditorWrapper zu internen API.
Vielen Dank
Thomas Radigewski
Hallo Thomas,
da du über das Modul DynamicDatabaseAccess direkten Zugriff auf die Datenbank hast, ist das alles so richtig. In der Datenbank steht bei den speziellen Eingabekomponenten XML. Ich vermute, für deinen Fall könnte die UX-Bridge eher das passende Modul sein.
Grüße
Jan
Hallo Jan,
genau das meine ich. Für einfach Text funktioniert das auch prima, jedoch nicht bei den genannten Eingabekomponenten.
Für r.contact (CMS_INPUT_TEXTAREA) erhalte ich z.B.
<CMS_VALUE name="st_contact" tag="CMS_INPUT_TEXTAREA"><LANG id="EN" set="1"><TEXT>Kontakt</TEXT></LANG></CMS_VALUE>
Grüße
Thomas
Hallo Thomas,
kannst du einmal den Code deiner Ausgabe posten?
Grüße
Jan
JSP:
<c:forEach items="${result}" var="p">
<c:if test="${curYear != p.DatVon.getYear() }">
<c:if test="${curYear != 0}"></ul></c:if>
<ul class="pagination-content no-img yearPage" data-year="<fmt:formatDate value="${p.DatVon}" pattern="
YYYY
" />">
<c:set var="curYear" value="${p.DatVon.getYear()}" />
</c:if>
<c:if test="${curMonth != p.DatVon.getMonth()}">
<li class="monthHeader" class="monthlyHeader">
<h3 class="headline"><fmt:formatDate value="${p.DatVon}" pattern="MM - MMMM" /></h3>
</li>
<c:set var="curMonth" value="${p.DatVon.getMonth()}" />
</c:if>
<c:if test="${not empty urls[p.fs_id.toString()]}">
<c:set var="title" value="${ (not empty p.title_DE)?p.title_DE:p.title_EN}" />
<c:set var="teaser" value="${ (not empty p.title_DE)?p.teaser_test_DE:p.teaser_test_EN}" />
<c:set var="location" value="${ (not empty p.title_DE)?p.location_DE:p.location_EN}" />
<c:set var="contact" value="${ (not empty p.title_DE)?p.contact_DE:p.contact_EN}" />
<c:if test="${not empty title}">
<c:set var="i" value="${i+1}" />
<li class="${i%2==1?'even':'odd'}">
<h4 class="date-type">
<fmt:formatDate value="${p.DatVon}" pattern="dd.MM.YYY" />
<fmt:formatDate value="${p.DatBis}" pattern=" - dd.MM.YYY" />
</h4>
<h3 class="headline">${title}</h3>
<p>${teaser}</p><p>${p.contact}
<c:if test="${not empty p.link.toString()}"><a href='${p.link}'><span>Mehr</span></a></c:if></p>
</li>
</c:if>
</c:if>
</c:forEach>
HTML Ausschnitt:
<li class="odd">
<h4 class="date-type">
12.09.2013
- 22.09.2013
</h4>
<h3 class="headline">IAA - Internationale Automomobil Ausstellung</h3>
<p></p><p>
<a href='<CMS_VALUE name="st_website" tag="CMS_INPUT_LINK"><LANG id="§" set="1"><LINK><CMS_LINK linktemplate="link__external___more_@MasterTemplatePackage" type="genericLink"><TEMPLATECONTENT><CMS_VALUE name="lt_text_dummy"><LANG id="§" set="0"/></CMS_VALUE><CMS_VALUE name="lt_link"><LANG id="§" set="1"><TEXT>http://www.iaa.de/</TEXT></LANG></CMS_VALUE><CMS_VALUE name="lt_target"><LANG id="§" set="0"/></CMS_VALUE><CMS_VALUE name="lt_contentiframe_height"><LANG id="§" set="0"/></CMS_VALUE></TEMPLATECONTENT></CMS_LINK></LINK></LANG></CMS_VALUE>'><span>Mehr</span></a></p>
</li>
Hallo Thomas,
da du über das Modul DynamicDatabaseAccess direkten Zugriff auf die Datenbank hast, ist das alles so richtig. In der Datenbank steht bei den speziellen Eingabekomponenten XML. Ich vermute, für deinen Fall könnte die UX-Bridge eher das passende Modul sein.
Grüße
Jan
Hallo Jan,
hmm, wozu brauche ich denn dann das Modul DynamicDatabaseAccess überhaupt, wenn es mir nur einen direkten Zugriff auf die DB liefert? Das kann ich doch einfacher selber implementieren. Ich dachte der Vorteil wäre gerade, dass es ein Zusammenspiel mit FirstSpirt gibt. Da hätte ich auch erwartet das man FirstSpirt Objekte verwendet kann.
Ich kann auch nicht ganz glauben, dass Deine Aussage richtig ist. Ich bekomme ja nicht nur den XML-String aus der Datenbank zurück, sondern ein EditorWrapper Objekt z.B. bei p.contact.GetClass().getName()
Wenn ich schon das Objekt haben, muss ich doch auch etwas damit machen können.
Viele Grüße
Thomas
Hallo Thomas,
Für komplexe Felder, wie z.B. DOM, geht es wirklich nicht.
Das Ganze ist z.B. in diesem Beitrag beschrieben:
https://community.e-spirit.com/message/6910#6910
Viele Grüße
Rouven
Vielen Dank für den Link.
Zudem habe ich gelernt, dass ich besser nach FS-Integration in der Community gesucht hätte 🙂