Questions & Answers

MarcusDau
Occasional Collector

Dynamischer contentSelect funktioniert nicht

Hallo!

Ich versuche den Thread hier https://community.e-spirit.com/message/1556 auch fรผr ich zu adaptieren.

Nun habe ich aber ein Problem bei der Parameter-รœbergabe. Wenn ich folgenden Code aufrufe, dann klappt es problemlos:

$CMS_RENDER(script:"dynamic_contentselect",buchstabe:"E")$

Rufe ich aber das ein wenig dynamischer auf

$CMS_SET(VARIABLE)$E$CMS_END_SET$

$CMS_RENDER(script:"dynamic_contentselect",buchstabe:VARIABLE)$

dann klappt es nicht mehr.

Jemand ne Idee woran das liegen kann?

GrรผรŸe

Marcus

0 Kudos
9 Replies
hoebbel
Crownpeak employee

Hallo Marcus,

versuch mal $CMS_SET(VARIABLE,"E")$.

Hintergrund:

$CMS_SET(VARIABLE)$E$CMS_END_SET$ --> Templatefragment

$CMS_SET(VARIABLE,"E")$ --> String

Viele Grรผsse aus Dortmund,

  Holger

MarcusDau
Occasional Collector

Jein, ein wenig, aber...

Ich glaube es liegt am Freitag, aber ich bin zu doof. Und zwar mรถchte ich aus der URI "glossar-e.jsp" den Buchstaben "e" auslesen und dann an den contentSelect รผbergeben.

Damit kann ich dann an den CMS_SET keinen direkten Buchstaben รผbergeben, sondern eine Variable.

Und die kommt im CMS_SET nicht an. Selbst ein

$CMS_SET(b, request.getParameter("buchstabe"))$

geht nicht. Direkte Ausgabe von request.getParameter("buchstabe") klappt, aber nicht, wenn ich es so per CMS_SET setze.

Hilfe! Freitag und ich sehe den Fehler nicht...

0 Kudos

Hallo Marcus,

das Request-Objekt steht zur Generierungszeit noch nicht zur Verfรผgung, deswegen wird das wie beschrieben nicht funktionieren. Wie genau sieht denn der Anwendungsfall aus, wieso muss der Parameter aus dem Request gelesen werden?

Viele GrรผรŸe

Jรถrg Stephan

0 Kudos

Hallo Marcus,

Du vermischst gerade Anweisungen welche wรคhrend der Generierung ausgefรผhrt werden und solche welche zur Laufzeit ausgefรผhrt werden.

Unabhรคngig ob Deine Syntax oben korrekt ist:

Ein ContentSelect (oder aus CMS_SET) wird wรคhrend der Generierung interpretiert.

Ein Auslesen eines RequestParameters zur Laufzeit wird somit Dein Ergebnis nichtmehr beeinflussen.

0 Kudos
MarcusDau
Occasional Collector

Okay, ich sage ja. Freitag. Richtig, da vermische ich gerade Dinge! Merke auch gerade, dass mein Ansatz vรถllig falsch ist. Wรผrde eh nie gehen, ohne dass ich FS Integration nutzen wรผrde, aber das mรถchte ich hier nicht!

Trotzdem, vielleicht habt Ihr ne sinnvolle Lรถsungsidee:

Der Anwendungsfall ist folgender: ich habe eine Datenquelle, in der ein Glossar gepflegt wird. Nehmen wir mal an, es gibt zwei Felder รœberschrift und Text. In der รœberschrift steht sowas drin wie "Affe", "Aal" oder "Bรคr" und im Text jeweils dazu ein beschreibender Text.

Nun mรถchte ich aus der Quelle auslesen, welche Anfangsbuchstaben des Alphabets mit Eintrรคgen belegt sind. Das funktioniert problemlos und daraus kann ich mir eine Liste mit Links generieren. Ich wollte nun gerne die Links auf glossar-a.jsp, glssar-b.jsp usw. lauten lassen, da sie im alten CMS auch so bezeichnet sind. SEO-mรคssig schรถner als glossar_16395.jsp oder dergleichen.

Kann man so etwas geschickt lรถsen in FS? Habt Ihr so etwas schon mal gemacht?

0 Kudos

Hallo Marcus,

was spricht dagegen fรผr die Links (glossar-a.jsp, ...) jeweils in der Struktur eine Seitenreferenz anzulegen und auf den Seiten dann Contentprojektionen/Contentselects zu benutzen die im Query die Eintrรคge mit dem gewรผnschten Anfangsbuchstaben selektieren?

Viele GrรผรŸe

Jรถrg Stephan

0 Kudos
MarcusDau
Occasional Collector

Dass es keine wirklich dynamische Lรถsung ist. Ich muss 26 Seitenreferenzen anlegen, obwohl ich evtl. nur 15 brauche. Das macht in meinen Augen keinen Sinn.

Wenn spรคter mal ein 16. Anfangsbuchstabe dazukommt oder auch mehrere, dann mรผsste das System das erkennen und die fehlenden Seiten ergรคnzen.

Das muss man doch irgendwie dynamisch erzeugen/anlegen kรถnnen. Oder sehe ich das falsch?

0 Kudos

Hallo Marcus,

wenn die Seiten nicht manuell angelegt werden sollen, kann man ein Script schreiben, was vor der Generierung lรคuft und anhand der Eintrรคge in der Glossar-Datenquelle die entsprechenden Seiten in der Struktur inkl. Abfragen anlegt.

Viele GrรผรŸe

Jรถrg Stephan

0 Kudos
aVogt
Returning Creator

Hallo Marcus,

wir haben im Intranet 6 Seiten fรผr ein Glossar angelegt (Seite 1- Buschtaben A-E, Seite 2 - Buchstaben F - K, usw.). Die Seiten nennen dann glossar_a-e.jsp.

รœber ein Javascript wird die entsprechende Seite angesprungen. Wenn die x-Anfangsbuchstaben pro Seite in je einem DIV liegen kann man die nicht benรถtigten auch ausblenden (display:none).

GrรผรŸe Andreas

0 Kudos

Type a product name