Search the FirstSpirit Knowledge Base
Hallo,
hat jemand eine saubere Beispiel-Implementierung für das Zuschneiden von Bildern einer CMS_INPUT_IMAGEMAP?
Ich habe es mit einem Skript versucht:
//!Beanshell
import de.espirit.firstspirit.webedit.server.CropDialogOperation;
import de.espirit.firstspirit.agency.OperationAgent;
import de.espirit.firstspirit.access.store.mediastore.Media;
import de.espirit.firstspirit.access.store.pagestore.Section;
import de.espirit.firstspirit.agency.SpecialistsBroker;
import de.espirit.firstspirit.agency.ResolutionAgent;
RESOLUTION = "CROP_ORIGINAL";
imagemapField = formfield.get();
media = imagemapField.getMedium();
resolutionAgent = context.requireSpecialist(ResolutionAgent.TYPE);
operations = context.requireSpecialist(OperationAgent.TYPE);
operation = operations.getOperation(CropDialogOperation.TYPE);
operation.setMedia(media);
operation.setResolutions(Collections.singletonList(resolutionAgent.getResolutionByName(RESOLUTION)));
operation.perform();
Und einer Absatzvorlage:
<CMS_INPUT_IMAGEMAP name="st_teaserImagemap" hFill="yes" resolution="CROP_ORIGINAL" simpleMode="yes" upload="yes">
<LANGINFOS>
<LANGINFO lang="*" label="Teaserbild Desktop"/>
</LANGINFOS>
<LINKEDITORS>
<LINKEDITOR name="lt_product_category__ks"/>
<LINKEDITOR name="lt_external__ks"/>
<LINKEDITOR name="lt_product__ks"/>
<LINKEDITOR name="lt_article__ks"/>
</LINKEDITORS>
<PROJECTS>
<LOCAL name="." uploadFolder="pictures">
<SOURCES>
<FOLDER name="pictures"/>
</SOURCES>
</LOCAL>
</PROJECTS>
</CMS_INPUT_IMAGEMAP>
<FS_BUTTON name="st_cropButton" hidden="no" onClick="script:cc_crop" style="firstspirit" useLanguages="no">
<LANGINFOS>
<LANGINFO lang="*" label="Crop"/>
</LANGINFOS>
<PARAMS>
<PARAM name="formfield">#field.st_teaserImagemap</PARAM>
</PARAMS>
</FS_BUTTON>
Das Problem ist, dass wenn das Bild zugeschnitten wurde, der Redaktuer keine Rückmeldung erhält. Wenn das Bild in der Imagemap neu ausgewählt wird,
wird auch korrekt der Ausschnitt angezeigt.
Gruß
Robin
Hallo Robin,
ich habe es zwar nicht getestet, aber vielleicht hilft hier schon ein
formfield.set(imagemapField);
am Ende.
Auch wenn Du eigentlich das Formularfeld nicht änderst, muss FirstSpirit ja irgendwie mitbekommen dass sich „etwas“ geändert hat. Es könnte sein dass ein .set(...) hier den ausreichenden „Trigger“ liefert.
Viele Grüße
Michael
Hallo Robin,
bitte gib uns Bescheid, wenn der Tip von Michael dein Problem nicht gelöst hat
Grüße,
Hannes