2010-06-24 20 views
0

Mon HTML contient des éléments comme celui-ci, car il utilise des lignes de django-basic-apps. J'essaie d'utiliser tinymce pour en insérer un dans le DOM. Sur le frontend du site, ceux-ci sont traités en bon code.Comment puis-je ajouter un élément HTML (autrement) invalide dans TinyMCE?

Dans tinyMCE J'ai ajouté la config:

extend_valid_elements: 'inline[id|ids|type|filter|class|template]', 

Mais chaque fois que je tente d'insérer via:

tinyMCE.execCommand('mceInsertRawHtml',false,'<inline type="myapp.mymodel" id="4" />'); 

rien ne se passe,

Et si je fais:

tinyMCE.activeEditor.getContent() 

TinyMCE r Emove <inline éléments qui sont dans mon code.

En outre, je voudrais que ces éléments à afficher dans le tinyMCE via CSS ou quelque chose, mais je vais probablement devoir pirater la DTD.

Si cela ne fonctionne pas une solution possible que j'ai pensé serait de pré-rendre le contenu à quelque chose qui est valide:

Et puis avant d'enregistrer, convertissez à nouveau ce qu'il devrait être.

S'il vous plaît fournir des suggestions pour les choses que je devrais examiner.

+0

Pour ce que ça vaut, je suis passé de TinyMCE à Xinha pour une raison similaire. (Il supprimait les divs, etc. du HTML que je voulais conserver.) – GalacticCowboy

Répondre

1

Dans le code source de tinymce tiny_mce_src.js, recherchez la chaîne valid_elements et ajoutez vos éléments et attributs directement ici.

0

Utilisez la commande mceInsertContent à la place, et ne pas utiliser les balises de fermeture automatique:

tinyMCE.execCommand('mceInsertContent', false, '<inline type="myapp.mymodel" id="4"></inline>');