MarcoHochmuth
I'm new here

CMS_REF mit einer JSP-Variable

Hallo liebe Community,

ich komme einfach nicht weiter...

Folgendes habe ich:

$CMS_SET(pdf)$${fn:replace(entity.pdf,"MEDIASTORE_LEAF", "")}$CMS_END_SET$

$CMS_VALUE(pdf)$                         $-- Ausgabe: Korrekter Referenzname, beispielsweise: "dokument" --$

$CMS_REF(media:"dokument")$       $-- Ausgabe: richtiger Link --$

$CMS_REF(media:pdf)$                   $-- Ausgabe: nichts!! --$

$CMS_REF(pageref:pdf)$                 $-- Ausgabe: nichts!! --$

$CMS_REF(pdf)$                            $-- Ausgabe: nichts!! --$

Zur Erklärung:

Ich ersetze MEDIASTORE_LEAF weil ich nicht weiß, was es an hinter meinem Referenznamen zu suchen hat.

Ich bekomme beim Aufruf von CMS_REF mit "media:" und dem Refernznamen den richtigen Link.
Ich bekomme beim Aufruf CMS_REF und einer Variable keinen Link

Hiiiilfe Smiley Happy

Danke und ganz lg
Marco

0 Kudos
9 Replies
thmarx
I'm new here

Hallo Marco,

FirstSpirit ist ein vorgenerierendes System. Das bedeutet für dich, dass die JSP und die CMS-Tags nicht vermischen kannst. Wenn das JSP auf dem Server ausgeführt wird, sind die CMS-Tags nicht mehr im Quellcode enthalten.

Eine ähnliche Frage gab es zum Beispiel schon mal hier: Get Parameter auslesen

Viele Grüße

Thorsten

0 Kudos

Hallo Thorsten,

Okay, also gehe ich den falschen Weg.

Wie kann ich denn einen Download-Link auf eines der Medien erzeugen, das in meiner Datenbank gespeichert ist?

lg und vielen Dank,

Marco

0 Kudos

Wenn du mit Datenbank die Medien-Verwaltung in FirstSpirit meinst, dann einfach mit CMS_REF.

Also einfach irgendwo im Template <a hreaf="$CMS_REF(media:"pdf")$">Download</href> wobei pdf er Referenzname sein muss. Damit könntest du einen Downloadlink auf das PDF erzeugen.

Gruß

Thorsten

0 Kudos

Prima, aber leider befinde ich mich in einer Schleife, sprich das "pdf" ist eine Variable die ich nicht hardkodieren kann...

<c:forEach items="${results}" var="entity" varStatus="index">

     ${entity.pdf}    $-- Ausgabe: referenznameMEDIASTORE_LEAF --$

</c:forEach>

Ich könnte mit ${entity.fs_id} die fs-id herausfinden und dann auch über DDA/FSI den Datensatz holen, bekomme ihn aber dann wieder nicht in die $CMS_REF()$ funktion... Smiley Sad

glg Marco

0 Kudos

Ah, ok. Wo kommt den ${results} das Result her?


0 Kudos

EntityList statementList = null;

Select select = sess.createSelect("statements");

IsNotNull notNull = new IsNotNull("title");

select.setConstraint(notNull);

[...]

statementList = sess.executeQuery(select);

pageContext.setAttribute("results", statementList);

Da kommts her. Es handelt sich um eine Art Datenbank-Anwendung, die auch im Frontend sortierbar und filterbar sein soll...

glg Marco

0 Kudos

In einem vorgenerierenden System würde man auf den direkten Zugriff auf die CMS Datenbank aus dem Frontend verzichten.

Es gibt aber einige Ansätze, wie du deine Anforderung umsetzen kanns:

  1. Die Sortierung und Filterung clientseitig durchführen, also die Daten bei der Generierung als Javascript rausschreiben und die Anforderung dann mit JavaScript umsetzen
  2. Die Sortierung und Filterung serverseitig durch, die Daten müssten bei der Generierung z.B. in die JSP-Seite geschrieben werden und könnten dann dort mit JSP-Mittel verwendet werden
  3. Du verwendets das UX-Bridge Modul

Viele Grüße

Thorsten

0 Kudos

Hallo Marco,

konnten Dir Thorstens Ansätze bei der Umsetzung deiner Anforderungen helfen? Benötigst du noch weitere Antworten?

Wenn sie beantwortet wurde, nutze bitte den gleichnamigen Button zur Kennzeichnung der richtigen Frage.

Viele Grüße

Michaela

0 Kudos

Nein, Thorstens Antwort konnte mir leider garnicht helfen.

Ich habe nach einer Möglichkeit gefragt, einen dynamischen Link auf ein PDF-Dokument zu erzeugen.
(Ob die Sortierung der Anwendung drumherum nun client- oder serverseitig ist, spielt dabei ja keine Rolle)

Ich habe meine Anforderung nun über Content-Projection gelöst, vielen Dank der Nachfrage. Smiley Happy

Beste Grüße,

Marco

0 Kudos