Hoppa till innehåll

Hämta bild från MFP

Exempel på hur man kan hämta ut en bild från en MediaflowPro modul.

  1. Leta upp alla portlets på sidan av typen mfpimage (Bild från MediaflowPro).
  2. Plocka ut bildnodens ID (imageID) från första MFP portleten som hittas.
  3. Därefter kan man hämta ut bildens properties som vanligt.
getMFPImage.js
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.

  1. Leta upp alla portlets på sidan/artikeln av typen mfpimage (Bild från MediaflowPro).
  2. Plocka ut bildnodens ID (imageID) från första MFP portletens properties.
  3. Plocka ut bildnoden från via dess ID.
  4. Skala om bilden.
  5. 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.
getMFPImage.js
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'),
};
}