Hallo Michael,
wir möchten einen Workflow abhängig davon anzeigen, ob ein bestimmter Wert (z.B. pt_actualShopUrl oder pt_shopUrl) für eine bestimmte Sprache in einem Feld gefüllt ist. Über den Menüpunkt Extra--> Bevorzugte Anzeigesprache kann man ja die Sprache im SA ändern. Jetzt könnte ich mit dem folgendem Code ja die Sprache erhalten:
webeditagent = context.requestSpecialist(WebeditUiAgent.TYPE);
uIAgent = context.requestSpecialist(UIAgent.TYPE);
if(webeditagent == null){
lang = uIAgent.getDisplayLanguage();
}else{
lang = webeditagent.getPreviewLanguage();
}
Dies funktioniert auch ohne Probleme, wenn dies in einem Skript passiert. Jetzt möchten wir das ganze aber in der Einblendelogik von Workflows abrufen. Hier scheint dies aber nicht zu funktioinieren, weil der uiAgent immer null ist bei der Einblendelogik. Der normale LanguageAgent scheint zu funktioineren. Sprich manche Agent funktionieren wohl.
Dies wäre die Prüfung für die Einblendelogik eines Workflows:
if( (storeElement.isReleased() && (storeElement.getFormData().get(language, "pt_shopUrl").get() != null && !storeElement.getFormData().get(language, "pt_shopUrl").get().isEmpty()))
|| (!storeElement.isReleased() && (storeElement.getFormData().get(language, "pt_shopUrl").get() != null && !storeElement.getFormData().get(language, "pt_shopUrl").get().isEmpty())
&& (storeElement.getFormData().get(language, "pt_actualShopUrl").get() == null || storeElement.getFormData().get(language, "pt_actualShopUrl").get().isEmpty()) )
) {
show = true;
}
Ist da vielleicht ein Fehler, oder ist das nicht vorgesehen im SA auf die aktuelle Sprache zu kommen?
Gruß
Daniel Lüttel