Zeige letzte Bearbeiter
1 {{figure image="plugin_menu_entries_de.png"}}
2 Neue Menüeinträge per Plugin.
3 {{/figure}}
4
5 Um neue Menüeinträge in {{formcycle/}}-Verwaltungsoberfläche zu integrieren, muss eine Klasse das Interface {{jpath path="de.xima.fc.plugin.interfaces.backend.IPluginMenuEntries"/}} implementieren.
6
7 {{panel title="{{code language='java'~}~}Collection<IPluginMenuEntry> getMenuEntries(IPluginMenuEntriesParams params){{/code~}~}" triggerable="true" fullwidth="true"}}
8 Methode für die Bereitstellung der Menüeinträge.<br><br>
9 **Übergabewert:** {{jpath path="de.xima.fc.interfaces.plugin.param.backend.IPluginMenuEntriesParams"/}}<br>
10 Pluginparameter, die den aktuellen Mandanten und Benutzer bereitstellen.<br><br>
11 **Rückgabewert:** {{jpath path="de.xima.fc.interfaces.plugin.retval.backend.IPluginMenuEntry"/}}<br>
12 Eine Collection der Menüeinträgen des Plugins.
13 {{/panel}}
14
15 In den einzelnen zurück gegebenen Menüeinträgen ({{jpath path="de.xima.fc.interfaces.plugin.retval.backend.IPluginMenuEntry"/}}) gibt es eine Reihe von Methoden, welche den jeweiligen Menüeintrag definieren:
16
17 {{panel title="{{code language='java'~}~}String getText(Locale locale){{/code~}~}" triggerable="true" fullwidth="true"}}
18 Methode für die Bereitstellung des Namens des Menüeintrags. Hierfür sollte das übergebene **Locale** verwendet werden.
19 {{/panel}}
20
21 {{panel title="{{code language='java'~}~}String getIcon(){{/code~}~}" triggerable="true" fullwidth="true"}}
22 Methode für die Bereitstellung des Menüeintragicons, welches als Styleclass zurückgegeben werden muss. Z.B.: //fa-users// für ein Benutzericon von Font Awesome.
23 {{/panel}}
24
25 {{panel title="{{code language='java'~}~}String getTargetURL(){{/code~}~}" triggerable="true" fullwidth="true"}}
26 Methode für die Bereitstellung der XHTML-Seite auf, welche der Menüeintrag verweisen soll. Hierfür muss der Pfad zur XHTML-Datei relativ zum Ressourcepfad des Java Archive (src/main/resources) angegeben werden. Z.B.: //protected/user.xhtml// für eine Datei die sich unter //src/main/resources/protected/user.xhtml// im Java Archive befindet.
27 {{/panel}}
28
29 {{panel title="{{code language='java'~}~}boolean isOpenNewWindow(){{/code~}~}" triggerable="true" fullwidth="true"}}
30 Gibt an, ob die Seite in einem neun Tab geöffnet werden soll.
31 {{/panel}}
32
33 {{panel title="{{code language='java'~}~}EPluginMenuTargetType getTargetType(){{/code~}~}" triggerable="true" fullwidth="true"}}
34 Der Targettyp gibt, wie die Target-URL ausgewertet wird. Es gibt folgende Targettypen:<br>
35 **PORTAL:** Der Targetpfad ist relativ zum Portalkontext (siehe [[Portalplugins>>Formcycle.PluginDevelopment.Types.Portal]]).<br>
36 **ABSOLUT:** Der Targetpfad ist ein einfacher absoluter Pfad.<br>
37 **RELATIVE:** Der Targetpfad ist ein einfacher relativer Pfad.<br>
38 **PARENT:** Bei dem Menüeintrag handelt es sich um einen aufklappbaren Eintrag, welcher Kindereinträge haben kann.
39 {{/panel}}
40
41 {{panel title="{{code language='java'~}~}boolean isShowOnSystemUser(){{/code~}~}" triggerable="true" fullwidth="true"}}
42 Gibt an, ob der Menüeintrag unter den Systemeinstellungen zu finden sein soll.
43 {{/panel}}
44
45 {{panel title="{{code language='java'~}~}boolean isClientScopeOnly(){{/code~}~}" triggerable="true" fullwidth="true"}}
46 Gibt an, ob der Menüeintrag nur dann angezeigt werden soll, wenn ein Mandant ausgewählt ist.
47 {{/panel}}
48
49 {{panel title="{{code language='java'~}~}Collection<IPluginMenuEntry> getChildEntries(){{/code~}~}" triggerable="true" fullwidth="true"}}
50 Methode für die Bereitstellung möglicher Kindeinträge.
51 {{/panel}}
52
53 {{panel title="{{code language='java'~}~}IAccessProperty[] getNeededCustomAccessProperties(){{/code~}~}" triggerable="true" fullwidth="true"}}
54 Alle von dieser Methode zurück gegebenen {{jpath path="de.xima.fc.interfaces.IAccessProperty" /}}s müssen in der [[Benutzerrolle>>Formcycle.UserInterface.UserSettings.Roles]] gesetzt sein, damit der Menüeintrag für den Benutzer sichtbar ist. Über das Interface {{jpath path="de.xima.fc.interfaces.IAccessProperty" /}} können [[eigene Berechtigungen>>Formcycle.PluginDevelopment.Types.AccessProperties]] erstellt werden.
55 {{/panel}}
56
57 {{panel title="{{code language='java'~}~}EAccessProperty[] getNeededAccessProperties(){{/code~}~}" triggerable="true" fullwidth="true"}}
58 Alle von dieser Methode zurück gegebenen {{jpath path="EAccessProperty" /}}s müssen in der [[Benutzerrolle>>Formcycle.UserInterface.UserSettings.Roles]] gesetzt sein, damit der Menüeintrag für den Benutzer sichtbar ist.
59 {{/panel}}
60
61 {{panel title="{{code language='java'~}~}boolean customIsRendered(){{/code~}~}" triggerable="true" fullwidth="true"}}
62 Methode für die Bereitstellung erweiterter Checks, zum Prüfen ob der Menüeintrag sichtbar sein soll oder nicht. Diese Checks werden **ODER**-verknüpft mit den Checks für //getNeededCustomAccessProperties()// & //getNeededAccessProperties()//.
63 {{/panel}}