Karsten
I'm new here

Auf vorhandenes Asset prüfen

Jump to solution

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

0 Kudos
1 Solution

Accepted Solutions

Ohne Script geht es auch:

$CMS_IF(#global.userService.getStore(MEDIASTORE, #global.release).getMediaByUid(imageUid) != null)$ ...

Peter

View solution in original post

0 Kudos
2 Replies
pavone
I'm new here

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)$ ...

Peter
0 Kudos