Hallo,
ich habe folgenden Anwendungsfall: Abhängig von äußeren Faktoren muss ich in meinem Template ein CMS_REF mit unterschiedlichen Werten befüllen. Da ich diese Parameter auch noch in einem Render-Skript weiterverarbeiten muss, würde ich sie gerne als Objekt übergeben und dann zu einem CMS_REF zusammenbauen. Das scheint jedoch nicht zu gehen.
Beginnend mit meinem <img> Element rufe ich ein Renderskript auf, um eine Abstraktionsebene für weitere Verwendung der <img> Eigenschaften zu haben (in meinem Fall für srcset):
<img $CMS_RENDER(template:"render_img_srcset_sizes", image: for_referredMedia.imageFile, abs:1, res: set_textImageSmall)$ />
Bisher habe ich versucht, die Inhalte von CMS_REF über Strings zusammenzusetzen:
$CMS_SET(set_remote, if(!set_isRemote.isEmpty , ", remote:\"" + set_isRemote + "\"", ""))$
...
$CMS_REF(set_media + set_abs + set_res + set_remote)$
Ich will nur die übergebenen Parameter setzen. Leider erhalte ich bisher nur sinnvolle Ergebnisse, wenn ich alle Parameterwerte setze und im ref(), bzw. CMS_REF die einzelnen Parameter nenne und ihnen die Werte zuweise.
$CMS_SET(set_reference, ref(media:set_image, remote: set_isRemote, res: for_res, abs:set_abs))$
Das ist fehlerbehaftet, weil ich ungesetzte Parameter mit Standardwerten auffüllen muss. Im besonderen Fall von remote muss ich sogar eine Unterscheidung vornehmen, weil remote immer auf ein existierendes Remote-Projekt verlinken muss und immer bedeutet, dass der Link remote ist.
Ich habe auch versucht, ein Objekt zu übergeben, beides ohne Erfolg.
$CMS_SET(set_previewImage, {media:"press_fallback_pmi", abs:1, res: set_previewResolution, remote:"ZF_GlobalContent"})$
$CMS_REF(set_previewImage)$
Gibt es keine Möglichkeit, CMS_REF dynamisch aus einem Objekt/Variablen zusammenzusetzen?
Vielen Dank vorab,
Tibor