Hämta bild från MFP
Exempel på hur man kan hämta ut en bild från en MediaflowPro modul.
- Leta upp alla portlets på sidan av typen
mfpimage
(Bild från MediaflowPro). - Plocka ut bildnodens ID (
imageID
) från första MFP portleten som hittas. - Därefter kan man hämta ut bildens properties som vanligt.
import NodeTreeUtil from '@sitevision/api/server/NodeTreeUtil';import Properties from '@sitevision/api/server/Properties';
export default function getMFPImage(node) { const portlets = NodeTreeUtil.findPortletsByType(node, 'mfpimage'); if (portlets.isEmpty()) return undefined;
const imageId = Properties.get(portlets.get(0), 'imageID'); return imageId && { uri: Properties.get(imageId, 'URI'), alt: Properties.get(imageId, 'alt'), };}
Behöver man skala om bilden (vilket man ofta behöver) måste man även hämta ut noden.
- Leta upp alla portlets på sidan/artikeln av typen
mfpimage
(Bild från MediaflowPro). - Plocka ut bildnodens ID (
imageID
) från första MFP portletens properties. - Plocka ut bildnoden från via dess ID.
- Skala om bilden.
- Därefter kan man hämta ut bildens properties, där URI först hämtas från den omskalade bilden om det gick bra och alt-text hämtas från ursprungsbilden.
import Utils from '@sitevision/api/server/Utils';import NodeTreeUtil from '@sitevision/api/server/NodeTreeUtil';import Properties from '@sitevision/api/server/Properties';import ResourceLocatorUtil from '@sitevision/api/server/ResourceLocatorUtil';
const imageScaler = Utils.getImageScaler(300, 5000);
function getScaledImage(id) { const node = ResourceLocatorUtil.getNodeByIdentifier(id); if(!node) return undefined; return imageScaler.getScaledImage(node);}
export default function getMFPImage(node) { const portlets = NodeTreeUtil.findPortletsByType(node, 'mfpimage'); if (portlets.isEmpty()) return undefined;
const imageId = Properties.get(portlets.get(0), 'imageID');
return imageId && { uri: Properties.get(getScaledImage(imageId) || imageId, 'URI'), alt: Properties.get(imageId, 'alt'), };}