Sie können bestimmte Aktionen in der Frontend Administration per Javascript abfangen und so individuell darauf reagieren. Greifen Sie dazu auf die on Funktion des Objekts egotec_edit zu, und übergeben Sie dieser den/die Namen der abzufangenden Aktionen und Ihre Callback Funktion.
In folgenden Beispiel wird sobald ein Block hinzugefügt wird eine individuelle Funktion ausgeführt:
<script>
{literal}
egotec_edit.on('Add', function(params, event) {
// ...
});
{/literal}
</script>
Ihre Callback Funktion erhält folgende Parameter:
Parameter-Name | Typ | Beschreibung |
params | Array |
Ein Objekt mit Informationen zum betroffenen Element. |
event | String |
Die Bezeichnung der ausgeführten Aktion. |
Sie können der on Funktion auch gleichzeitig mehrere Aktionen übergeben. Trennen Sie diese dazu mit einem Leerzeichen.
<script>
{literal}
egotec_edit.on('Add Remove', function(params, event) {
// ...
});
{/literal}
</script>
Nutzen Sie die Funktion off, wenn Sie ein vorher definiertes Callback wieder entfernen möchten (auch hier können Sie mehrere Aktionen übergeben).
<script>
{literal}
var cb = function(params, event) {
// ...
};
egotec_edit.on('Add Duplicate Move Remove', cb);
egotec_edit.off('Duplicate Move', cb);
{/literal}
</script>
Beachten Sie, dass das Objekt egotec_edit nur existiert, während die Frontend Administration aktiv ist. Das Objekt wird automatisch am Ende des HTML head Elements erzeugt. Um darauf zugreifen zu können, muss Ihr Code am Ende des HTML body Elements ausgeführt werden oder warten, bis der DOM oder das Fenster geladen wurden.
Folgende Aktionen können abgefangen werden:
Parameter-Name | Typ | Beschreibung |
Init | String |
Ein Block wurde initialisiert. |
Add | String |
Ein Block wurde hinzugefügt. |
Replace | String |
Ein Block wurde ersetzt. |
Duplicate | String |
Ein Block wurde dupliziert. |
Move | String |
Ein Block wurde verschoben. |
Remove | String |
Ein Block wurde entfernt. |
Attach | String |
In einem Block wurde ein Element hinzugefügt. |
Detach | String |
In einem Block wurde ein Element entfernt. |
Page | String |
Einem Block wurde eine Seite zugewiesen. |
Pool | String |
Für einen Block wurde der Mediapool bearbeitet. |
Edit | String |
Für einen Block wurden Einstellungen vorgenommen. |
Copy | String |
Ein Block wurde in eine oder mehrere Sprachen kopiert. |
Value | String |
Für einen Block wurde ein Wert gesetzt. |
Date | String |
Für einen Block wurde ein Datum gesetzt. |
Anchor | String |
Für einen Block wurde die Sprungmarke geändert. |
Viewport | String |
Die Viewport Einstellung wurde geändert. |
Layout | String |
Das Layout wurde geändert. |
Translate | String |
Die Übersetzungsunterstützung des Blocks wurde geschlossen (wird zusammen mit Edit erzeugt). |
Aktionen des tinymce Editors abfangen
Auch Aktionen des Editors können abgefangen werden. Setzen Sie dazu für Ihre {value} Elemente den Parameter hooks. Dieser beinhaltet kommasepariert tinymce Events, die Sie für dieses Element abfangen möchten:
{value var="content1" title="Inhalt" hooks="Change"}
Alle Editor Events beginnen mit dem Prefix editor + tinymce Event Bezeichnung (erster Buchstabe ist immer groß geschrieben) und werden so angesteuert:
<script>
{literal}
egotec_edit.on('editorChange', cb);
{/literal}
</script>
Dabei erhalten Sie im Callback ein Objekt mit folgenden Werten:
Parameter-Name | Typ | Beschreibung |
editor | Object |
Editor Instanz. |
orient | String |
Betroffene Orientierung des Blocks. |
index | Integer |
Betroffene Position des Blocks. |
block | String |
Betroffener Block. |
name | String |
Name des Elements. |
type | String |
Typ des Elements. |
values | Object |
Alle Werte des Elements. |
event | Object |
Das Event-Objekt von TinyMCE |