2011-01-06 16 views
1

Um mein Wordpress Plugin fertig zu stellen, möchte ich mit tinyMCE zwischen einem benutzerdefinierten Tag (Einige | Daten | hier) und einer entsprechenden Bildanzeige in der WYSIWYG-Ansicht wechseln.Wordpress TinyMCE: Ansichten wechseln

Das Ereignis sollte bei Last, Safe, Autosave, Switch View usw. ausgelöst werden. Es sind 4 verschiedene Ereignisse definiert, aber keine von ihnen funktioniert wie erwartet.

  1. onBeforeSetContent
  2. onGetContent
  3. onPostProcess
  4. onLoadContent

.

ed.onPostProcess.add(function(ed, o) { 
    if (o.set){ 
     o.content = t._htmlToWysiwyg(o.content, url); 
    } 
    if (o.get){ 
     o.content = t._wysiwygToHtml(o.content, t); 
    } 
}); 

Anyon den richtigen Weg kennen?

+0

was erwarten Sie? – Thariama

+0

Ich möchte meinen WPG3-Tag in der Datenbank speichern und in der HTML-Ansicht anzeigen lassen. Beim Wechsel auf WYSIWYG-View wird htmlToWysiwyg() es durch ein Image-Tag ersetzen und umgekehrt wysiwygToHtml(). Ich möchte wissen, welche Haken gemacht werden, um dies zu archivieren. – digitaldonkey

+0

benötigen Sie eine benutzerdefinierte Funktion, um die Ersetzung durchzuführen (stellen Sie sicher, dass Ihre benutzerdefinierten Tags nicht aus dem Editor entfernt werden, da sie nicht als gültige Elemente registriert sind). Sie können alle Editor-Ereignisse als einen Haken verwenden – Thariama

Antwort

0

Ich weiß nicht, was Sie erwarten die 4 verschiedenen Ereignisse (?), Aber ich kann einige Probleme in Ihrem Code sehen.

1. Das Objekt o enthält keine Felder get und set - so o.get und o.set nie true sein! Daher wird Ihr Code niemals aufgerufen.

2. Sie verwenden die Variable url, aber diese ist hier nicht definiert.

Arbeitsbeispiel: Sie können versuchen, eine Zeichenfolge mit "a" in den Editor einzufügen. Verwenden Sie die folgenden Schritte aus:

ed.onPostProcess.add(function(ed, o) { 
    //console.log('o:', o); 
    o.content = o.content.replace(/a/g, "A"); 
}); 

Sie sollten sehen, dass alle unteren 'a 's von' A' s ersetzt bekommen.

+0

Das war nur ein Teil. – digitaldonkey

+0

Grundsätzlich funktioniert der Code. -> http://wordpress.pastebin.com/wCRFRU6t – digitaldonkey

+0

aber o.get und o.set wird nie wahr sein! – Thariama

Verwandte Themen