TimoMeister
Returning Responder

CaaS Bild Auflösungen ausgeben

Jump to solution

Hallo Community,

gibt es eine Dokumentation wie man in CaaS (JSON) die unterschiedlichen Bild Auflösungen ausgibt?

Wir arbeiten in unseren Templates ausschließlich mit $CMS_VALUE(json(#this).set("previewId", previewId()))$ -

dort wird aber immer nur die URL zum Original Bild ausgegeben.

Vorallem habe ich Probleme das Standard JSON in verschachtelten Absatzvorlagen (wie FS_CATALOG) anzupassen.

Jemand eine Idee?

0 Kudos
1 Solution

Accepted Solutions
TimoMeister
Returning Responder

Hallo Sven,

Danke für Deine Antwort. So habe ich es jetzt auch hinbekommen. Da es sich bei Auflösungen um eine Standardfunktionalität handelt, habe ich eigentlich die Erwartung, dass es hierzu eine einfachere Lösung gibt.

Gerne teile ich meinen Code für andere, die an der gleichen Stelle nicht weiter kommen:

$CMS_SET(set_formData, json(#this).get("formData"))$

$CMS_IF(!st_sliderItems.isNull && !st_sliderItems.isEmpty)$

$CMS_SET(set_sliderData, set_formData.get("st_sliderItems").get("value"))$

$CMS_FOR(_item, st_sliderItems)$

$CMS_IF(!_item.item.st_image.isNull && !_item.item.st_image.isEmpty)$

$CMS_SET(set_sliderItemFormData, set_sliderData.get(#for.index).get("formData"))$

$CMS_SET(set_image_url_576, ref(media:_item.item.st_image.uid, res:"W576xH0").url)$

$CMS_SET(set_image_url_768, ref(media:_item.item.st_image.uid, res:"W768xH0").url)$

$CMS_SET(set_image_url_1025, ref(media:_item.item.st_image.uid, res:"W1025xH0").url)$

$CMS_SET(set_image_url_1278, ref(media:_item.item.st_image.uid, res:"W1278xH0").url)$

$CMS_SET(set_image_url_1476, ref(media:_item.item.st_image.uid, res:"W1476xH0").url)$

$CMS_SET(set_image_url_2000, ref(media:_item.item.st_image.uid, res:"W2000xH0").url)$

$CMS_SET(set_image_url_2400, ref(media:_item.item.st_image.uid, res:"W2400xH0").url)$

$CMS_SET(void, set_sliderItemFormData.get("st_image").get("value")

.set("previewId", previewId(element:_item.item.st_image))

.set("url_576",set_image_url_576)

.set("url_768",set_image_url_768)

.set("url_1025",set_image_url_1025)

.set("url_1278",set_image_url_1278)

.set("url_1476",set_image_url_1476)

.set("url_2000",set_image_url_2000)

.set("url_2400",set_image_url_2400))$

$CMS_END_IF$

$CMS_END_FOR$

$CMS_END_IF$

$CMS_VALUE(json(#this)

.set("previewId", previewId())

.set("formData",set_formData)

)$

View solution in original post

0 Kudos
2 Replies
serens
Returning Observer

Hallo Timo,
Du hast doch die Möglichkeit das generierte JSON zunächst in eine Variable zu speichern. Dieses Objekt kannst Du dann manipulieren, z.B. indem Du in das betreffende Feld einen anderen Wert einträgst, beispielsweise den Pfad zu einem Medium mit der betreffenden Auflösung.

LG Sven

0 Kudos
TimoMeister
Returning Responder

Hallo Sven,

Danke für Deine Antwort. So habe ich es jetzt auch hinbekommen. Da es sich bei Auflösungen um eine Standardfunktionalität handelt, habe ich eigentlich die Erwartung, dass es hierzu eine einfachere Lösung gibt.

Gerne teile ich meinen Code für andere, die an der gleichen Stelle nicht weiter kommen:

$CMS_SET(set_formData, json(#this).get("formData"))$

$CMS_IF(!st_sliderItems.isNull && !st_sliderItems.isEmpty)$

$CMS_SET(set_sliderData, set_formData.get("st_sliderItems").get("value"))$

$CMS_FOR(_item, st_sliderItems)$

$CMS_IF(!_item.item.st_image.isNull && !_item.item.st_image.isEmpty)$

$CMS_SET(set_sliderItemFormData, set_sliderData.get(#for.index).get("formData"))$

$CMS_SET(set_image_url_576, ref(media:_item.item.st_image.uid, res:"W576xH0").url)$

$CMS_SET(set_image_url_768, ref(media:_item.item.st_image.uid, res:"W768xH0").url)$

$CMS_SET(set_image_url_1025, ref(media:_item.item.st_image.uid, res:"W1025xH0").url)$

$CMS_SET(set_image_url_1278, ref(media:_item.item.st_image.uid, res:"W1278xH0").url)$

$CMS_SET(set_image_url_1476, ref(media:_item.item.st_image.uid, res:"W1476xH0").url)$

$CMS_SET(set_image_url_2000, ref(media:_item.item.st_image.uid, res:"W2000xH0").url)$

$CMS_SET(set_image_url_2400, ref(media:_item.item.st_image.uid, res:"W2400xH0").url)$

$CMS_SET(void, set_sliderItemFormData.get("st_image").get("value")

.set("previewId", previewId(element:_item.item.st_image))

.set("url_576",set_image_url_576)

.set("url_768",set_image_url_768)

.set("url_1025",set_image_url_1025)

.set("url_1278",set_image_url_1278)

.set("url_1476",set_image_url_1476)

.set("url_2000",set_image_url_2000)

.set("url_2400",set_image_url_2400))$

$CMS_END_IF$

$CMS_END_FOR$

$CMS_END_IF$

$CMS_VALUE(json(#this)

.set("previewId", previewId())

.set("formData",set_formData)

)$

0 Kudos