Hallo Zusammen! Ich hätte gerne für mein Plugin in der Plugin-Konfiguration einen Button, der als ‚handler‘ auch php ausführt. Normalerweise definiert man ja eine JavaScript-Funktion: $form-\>setElement('button', 'myButton', array( 'label' =\> 'Push me', 'handler' =\> 'function(btn) { alert("Hello!"); }' ) );
möchte ich nun stattdessen im Handler wie folgt eine php-Funktion aus der Bootstrap aufrufen, dann installiert das Plugin nicht und das ganze scheint so nicht zu funktionieren: $form-\>setElement('button', 'myButton', array( 'label' =\> 'Push me', 'handler' =\> $this-\>myTestFunction() ) );
das wird so nicht gehen, da du versuchst von der client seite auf der server seite eine function aufzurufen. du müsstest in der handler function ajax ausführen: function(btn) { // ajax an url z.b. /backend/myPlugin/myAction/foo/bar }
dein plugin backend controller verarbeitet deine anfrage und gibt daten zurück, die dann in JS verarbeiten kannst.