MichaelN
I'm new here

Menüeintrag innerhalb eines Moduls erstellen?

Jump to solution

Hallo,

zur Zeit habe ich unter "Extras=>Script ausführen" ein Beanshell-Script, welches meine Appcenter-Integration aktiviert.

Ist es möglich innerhalb einer Modulentwicklung einen eigenen Menüeintrag für den FirstSpirit Java-Client zu erstellen, so dass der Menüpunkt quasi bei der Installation des Moduls automatisch erstellt wird?

Mir würde es auch reichen per API dieses Script erstellen zu können, so dass es halt wie jetzt auch unter Extras=>Script ausführen" auftaucht.

0 Kudos
1 Solution

Accepted Solutions
andre
I'm new here

hallo,

> Ist es möglich innerhalb einer Modulentwicklung einen eigenen Menüeintrag für den FirstSpirit Java-Client zu

> erstellen, so dass der Menüpunkt quasi bei der Installation des Moduls automatisch erstellt wird?

klar: http://www.e-spirit.com/odfs50/en/webedit_5_0_erweitern_2/javaclient/interaktive_features/erweiterun...

View solution in original post

0 Kudos
2 Replies
andre
I'm new here

hallo,

> Ist es möglich innerhalb einer Modulentwicklung einen eigenen Menüeintrag für den FirstSpirit Java-Client zu

> erstellen, so dass der Menüpunkt quasi bei der Installation des Moduls automatisch erstellt wird?

klar: http://www.e-spirit.com/odfs50/en/webedit_5_0_erweitern_2/javaclient/interaktive_features/erweiterun...

0 Kudos

Dank schon mal hierfür,

aber da ergeben sich direkt Folgefragen Smiley Happy.

Mein Script sieht im Moment wie folgt aus:

//!Beanshell

          import my.packagename.MyPlugin;

          if (element == void ) {

                    MyPlugin.show(context);

          } else {

                    MyPlugin.show(context, element, language);

          }

Hierbei startet der Teil "element == void" mein Plugin mittels "script ausführen" und der andere Teil angetriggert über einen FS-Button.

Ich habe aber beim Ausführen des Menüeintrags nur einen ToolbarContext.

@Override

public void execute(ToolbarContext context) {

     ...

}

im Plugin selbst starte ich über folgende Methoden mein Plugin und ermittle das aktuell vom Redakteur bearbeittete Element.

public static void show(final GuiScriptContext context) {

        final IDProvider selectedElement;       

        if (context instanceof GuiScriptContextImpl) {

            GuiScriptContextImpl guiContext = (GuiScriptContextImpl) context;

            selectedElement = guiContext.getGuiHost().getCurrentGuiStoreElement().getStoreElement();

        } else {

               ....

        }

        final MyPlugin plugin = getInstance(context.getConnection());

        plugin.show(context.getProject(), selectedElement, context, null);

}

public static void show(final BaseContext context, IDProvider selectedElement, Language language) {

        if (context instanceof GuiScriptContext) {

            show((GuiScriptContext) context);

            return;

        }

        Project project = selectedElement.getProject();

        Connection connection = project.getUserService().getConnection();

        final MyPlugin plugin = getInstance(connection);

        plugin.show(project, selectedElement, context, language);

}

Nun meine Fragen:

  1. Wie komme ich mittles des ToolbarContext an das selctedElement, also die Page oder Section, die gerade ausgewählt ist - analog dem GuiScriptContext ?
  2. Wie kann ich meinen Menüeintrag per FS_Button starten. Anlog zum else fall im script oben ("element != void ").
0 Kudos