rr
I'm new here

Funktion ref() Variable übergeben

Jump to solution

Hallo zusammen,

kann ich der Funktion $CMS_VALUE(ref(pageref:)$ eine Variable übergeben, z.B:

$CMS_SET( set_detail_tmp )$

    $CMS_VALUE( set_detail + set_categories_key )$

$CMS_END_SET$

$CMS_VALUE(ref(pageref: set_detail_tmp) )$

in der Onlinebeschreibung habe ich den Hinweis gelesen ( Alternativ kann ein Variablenname oder auch ein Systemobjekt angegeben werden...).

Hat jemand eine Idee wie das funktionieren könnte?

Danke und Gruß,

Ruth Ricter

0 Kudos
1 Solution

Accepted Solutions
hoebbel
Crownpeak employee

Hallo Frau Richter,

Wenn ich Ihren Anwendungsfall richtig verstehe, können Sie sich die Zwischenschritte sparen:

<a href="$CMS_REF("pageref:branchetheme_detail_" + set_categories_key)$">

oder

<a href="$CMS_VALUE(ref("pageref:branchetheme_detail_" + set_categories_key))$">

Tut mir leid, dass ich in der ersten Antwort nur von "gültiges Ziel" geschrieben habe. Damit meinte ich, dass es für eien Seitenreferenz pageref:<UID> udn für ein Medium media:<UID> sein muss (UID ist hier gleich dem Referenznamen).

Viele Grüsse aus Dortmund,

  Holger Höbbel

View solution in original post

0 Kudos
6 Replies
hoebbel
Crownpeak employee

Hallo Frau Richter,

das Problem, welches Sie haben, liegt daran, dass Sie ein Templatefragment erzeugen, anstatt eine Variable mit einem verwertbarem Inhalt.

Ändern Sie Ihr Template einfach folgendermaßen ab:

$CMS_SET( set_detail_tmp, set_detail + set_categories_key )$

Unter der Vorrausetzung, dass es sich bei den beiden Variablen um Strings handelt und der zusammengesetzte String ein gültiges Ziel ist, funktioniert anschließend:

$CMS_VALUE(ref(set_detail_tmp) )$

oder

$CMS_REF(set_detail_tmp)$

Viele Grüsse aus Dortmund,

  Holger Höbbel

0 Kudos

Hallo Herr Höbel,

vielen Dank für die schnelle Antwort, allerdings hat Ihre Anwort nicht den erwünschten Erfolg gebracht.

Die Variablen sind beide vomTyp String

set_detail ("branchetheme_detail_")

set_categories_key("prax")

Im übrigen habe ich in Ihren Vorschlag   $CMS_SET( set_detail_tmp, "branchetheme_detail_prax" )$

den String geschrieben und über die Variable set_detail_tmp den Aufruf  

$CMS_VALUE(ref(set_detail_tmp) )$ ausgeben wollen, dieser ist allerdings leer.

Die zusamengesetzte Variable sollte z.B. so aussehen:

href="$CMS_VALUE(ref(pageref:"branchetheme_detail_matr"))$

Vielleicht haben Sie noch eine Idee.

Viele Grüße,

Ruth Richter

0 Kudos

Hallo Frau Richter,

folgende zwei Alternativen sollten funktionieren:

$CMS_SET(set_detail_temp, "branchenthemen_detail_prax")$

$CMS_VALUE(ref(pageref:set_detail_temp))$

oder

$CMS_SET(set_detail_temp, "pageref:\"branchenthemen_detail_prax\"")$

$CMS_VALUE(ref(set_detail_temp))$

Viele Grüße

Jan Tilo

0 Kudos

Hallo zusammen,

ich bin nun auf die Lösung gekommen, sie funktioniert wie folgt:

$CMS_SET( set_detail_tmp, "branchetheme_detail_" + set_categories_key )$

$CMS_SET(set_ref,ref(pageref:set_detail_tmp))$

<a href="$CMS_VALUE(set_ref)$">

Vielen Dank für die Bemühungen.

Gruß,

Ruth Richter

0 Kudos
hoebbel
Crownpeak employee

Hallo Frau Richter,

Wenn ich Ihren Anwendungsfall richtig verstehe, können Sie sich die Zwischenschritte sparen:

<a href="$CMS_REF("pageref:branchetheme_detail_" + set_categories_key)$">

oder

<a href="$CMS_VALUE(ref("pageref:branchetheme_detail_" + set_categories_key))$">

Tut mir leid, dass ich in der ersten Antwort nur von "gültiges Ziel" geschrieben habe. Damit meinte ich, dass es für eien Seitenreferenz pageref:<UID> udn für ein Medium media:<UID> sein muss (UID ist hier gleich dem Referenznamen).

Viele Grüsse aus Dortmund,

  Holger Höbbel

0 Kudos

Hallo Herr  Höbbel,

das macht natürlich noch mehr Sinn, vielen Dank für die Antwort.

Viele grüße,

Ruth Richter

0 Kudos