Search the FirstSpirit Knowledge Base
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?
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)
)$
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
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)
)$