Skip to main content

Absatz Anzeigename über Regeln auslesen

Comments

2 comments

  • Holger Höbbel

    Hallo Patrick,

    ich fürchte, dass geht nur über einen Value Service. Da es hier ja nur um eine Kleinigkeit geht, sollte der ScriptValueService ausreichend sein. Das könnte dann so aussehen:
    Regel:

    <RULE>
     <SCHEDULE delay="1000" id="setDisplayName" service="ScriptValueService">
     <PARAM name="script">
     <TEXT><UID des Skriptes></TEXT>
     </PARAM>
     <PARAM name="language">
     <PROPERTY name="LANG" source="#global"/>
     </PARAM>
     <PARAM name="sectionid">
     <PROPERTY name="ID" source="#global"/>
     </PARAM>
     </SCHEDULE>
     <DO>
     <PROPERTY name="VALUE" source="<Name der Eingabekomponente>"/>
     </DO>
    </RULE>

    Mit dieser Regel wird das entsprechende Skript aufgerufen. Dieses muss sich dann darum kümmern, aus den übergebenen Daten (ID des Absatzes und Abbreviation der Sprache) den Displaynamen zu ermitteln und diesen dann zurückgeben. Das Skript könnte dann wiederum so aussehen:

    import de.espirit.firstspirit.agency.StoreAgent;
    import de.espirit.firstspirit.agency.LanguageAgent;
    import de.espirit.firstspirit.access.store.Store;

    storeAgent  = context.requestSpecialist(StoreAgent.TYPE);
    languageAgent = context.requestSpecialist(LanguageAgent.TYPE);
    pageStore = storeAgent.getStore(Store.Type.PAGESTORE);
    section = pageStore.getStoreElement(sectionid);
    lang = languageAgent.getProjectLanguages(false).get(language);
    return section.getDisplayName(lang);

    Viele Grüße
    Holger

    1
  • Patrick Wittke

    Super danke! Danke auch für die Lösung!

    0

Please sign in to leave a comment.