Zum Hauptinhalt gehen

Template Debugger Usability / Features

Kommentare

8 Kommentare

  • Zendesk API User
    Author: felix_reinhold - 3/16/2017 12:05

    Hallo Heiko,

    Ich würde mir wünschen, dass man im Settings-Bereich ein Stück Code pflegen kann, das einfach vorher immer ausgeführt wird.

    über den TemplateDebuggerService kannst du abfragen, ob der Debugger gerade läuft.

    Ich würde also empfehlen den Code in das Projekteinstellungstemplate zu übernehmen, da darin enthaltener Template-Code auch in der Preview immer vor dem Generieren einer Seite ausgeführt würde. So könntest du dort einfach einen Abschnitt mit TemplateDebugger-Settings machen, die nur gesetzt werden, wenn der Debugger läuft.

    Beste Grüße

    Felix

    0
  • Zendesk API User
    Author: hbarthel - 3/16/2017 14:41

    Die Idee ist genial. Habe mir ein Skript gemacht:

    //!Beanshell

    import de.espirit.firstspirit.access.ServicesBroker;

    import de.espirit.firstspirit.access.ServiceNotFoundException;

    import de.espirit.firstspirit.debugger.client.TemplateDebuggerService;

    final ServicesBroker servicesBroker = context.requestSpecialist(ServicesBroker.TYPE);

    try {

      final TemplateDebuggerService tds = servicesBroker.getService(TemplateDebuggerService.class);

      result.setValue(tds.isDebuggerRunning());

    } catch (ServiceNotFoundException e) {

      return "TemplateDebuggerService not found";

    }

    Kriege allerdings einen Fehler:

    ERROR (Script 'debug_stuff' (id=1289446) at 0, 0):  at 0, 0: Script 'debug_stuff' (id=1289446) - Typed variable declaration : Class: TemplateDebuggerService not found in namespace : at Line: 9 : in file: inline evaluation of: ``__execute() { //!Beanshell import de.espirit.firstspirit.access.ServicesBroker;  . . . '' : TemplateDebuggerService

    Und Zeile 9 ist:

    final TemplateDebuggerService tds = servicesBroker.getService(TemplateDebuggerService.class);

    0
  • Zendesk API User
    Author: felix_reinhold - 3/16/2017 15:16

    Hmm, schade.. Bin einfach davon ausgegangen, dass der Service normal verfügbar ist. Habe aber gerade in die module.xml des fs-debugger.fsm geschaut und leider sind die Klassen nur im Modul verfügbar. Der einzige Weg über die API wäre dann wohl nur noch den Status des Debugger-Fensters abzufragen --> Alles andere als schön :smileysad:

    0
  • Zendesk API User
    Author: marro - 4/4/2017 15:11

    Hallo Heiko, hallo Felix,

    ob man sich gerade im Debugger befindet, lässt sich auch über die Art des aktuellen Contexts herausfinden:

    Dann brauchst Du im Skript nicht über den TemplateDebuggerService zu gehen, Heiko.

    Viele Grüße

    Donato

    0
  • Zendesk API User
    Author: felix_reinhold - 4/4/2017 15:11

    Hey Donato,

    cool, vielen Dank für die Info!

    Gruß

    Felix

    0
  • Zendesk API User
    Author: MichaelaReydt - 4/11/2017 15:35

    Hallo Felix,

    ist deine Frage damit beantwortet oder benötigst du noch weitere Hilfe? :smileyhappy:

    Sollte deine Frage beantwortet sein, wäre es super, wenn du Donatos "richtige Antwort" entsprechend markierst.

    Viele Grüße

    Michaela

    0
  • Zendesk API User
    Author: felix_reinhold - 4/12/2017 12:14

    Hallo Michaela,

    die Frage war von Heiko. Ich konnte Donatos Antwort somit nur als hilfreich und nicht als richtig markieren /abschließen.

    Gruß

    Felix

    0
  • Zendesk API User
    Author: hbarthel - 4/13/2017 7:54

    Danke Donato, der Tipp ist super. Dieses Stück Code in der Seitenvorlage der Project Settings habe ich für meine Zwecke eingebaut:

    $CMS_IF(#global.class.name.contains("Debugger"))$

        $CMS_VALUE(#global.logInfo("Running in Debugger"))$

        $-- for the Developer: put in here code to be executed for your debugging session, e.g. set variables --$

    $CMS_END_IF$

    0

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.