Search the FirstSpirit Knowledge Base
Hallo Gemeinde!
Ist es möglich zu prüfen, ob ein Asset in der Medienverwaltung vorhanden ist BEVOR ich versuche mit ref() darauf zuzugreifen?
Wir verwalten die Referenznamen von Bildern in einer eigenen Datenquelle aber die Bilder liegen dann in der Medienverwaltung. Ist kein passendes Bild in der Medienverwaltung abgelegt, soll ein Platzhalterbild angezeigt werden. Aktuell weiß ich aber nicht, wie so eine Prüfung aussehen muss.
vielen Dank
Ohne Script geht es auch:
$CMS_IF(#global.userService.getStore(MEDIASTORE, #global.release).getMediaByUid(imageUid) != null)$ ...
Hallo Karsten,
das kannst du mit einem kleinen BeanShell-Skript, das in deiner Vorlage aufgerufen wird, bewerkstelligen:
//!Beanshell
import de.espirit.firstspirit.agency.StoreAgent;
import de.espirit.firstspirit.access.store.Store.Type;
storeAgent = context.requireSpecialist(StoreAgent.TYPE);
mediaStore = storeAgent.getStore(Type.MEDIASTORE);
return mediaStore.getMediaByUid(imageUid) != null;
In der Vorlage kannst du dann abhängig vom Rückgabewert des Skriptes das Bild oder den Platzhalter anzeigen:
$CMS_SET(imageExists)$$CMS_RENDER(script:"find_image", imageUid:"<IMAGE_REF_NAME>")$$CMS_END_SET$
$CMS_IF(imageExists.toString() == "true")$
$-- Show image --$
$CMS_ELSE$
$-- Show placeholder --$
$CMS_END_IF$
Viele Grüße
Tim
Ohne Script geht es auch:
$CMS_IF(#global.userService.getStore(MEDIASTORE, #global.release).getMediaByUid(imageUid) != null)$ ...