Radigewski
Occasional Collector

DynamicDatabaseAccess

Jump to solution

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

0 Kudos
1 Solution

Accepted Solutions

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

View solution in original post

0 Kudos
8 Replies
kohlbrecher
Crownpeak employee

Hallo Thomas,

bist du so wie hier im Kapitel 3.2.1.8 beschrieben vorgegangen?

Grüße

Jan

0 Kudos

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

0 Kudos

Hallo Thomas,

kannst du einmal den Code deiner Ausgabe posten?

Grüße

Jan

0 Kudos

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>

0 Kudos

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

0 Kudos

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

0 Kudos

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

Radigewski
Occasional Collector

Vielen Dank für den Link.

Zudem habe ich gelernt, dass ich besser nach FS-Integration in der Community gesucht hätte 🙂

0 Kudos