Salut à tous,
j'espère que je poste dans la bonne section...
J'essaye en vain d'implementer tinyMCE 4 sur le plugin CakePHP-Media de Grafikart. Tout se passe bien jusqu'à ce que j'essaye d'insérer une image dans un contenu.
A ce moment là, je me retrouve avec cette erreur dans la console :
win.send_to_tinymce is not a function
Voici les différents codes que j'ai ajouté (au niveau de tinymce.js) :
jQuery(function($){
var buttons = "bold italic underline strikethrough blockquote bullist numlist alignleft aligncenter alignright alignjustify link unlink image";
if( $('#explorer').length == 0 ){
buttons = buttons.replace('image,','');
}
$('textarea.tinymce').each(function(){
tinymce.init({
selector: 'textarea.tinymce',
language: "fr_FR",
relative_urls: false,
skin: 'portfolio',
height: 300,
plugins: [
"autoresize autolink autosave link image imageinsert lists charmap print preview hr pagebreak spellchecker",
"searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking",
"contextmenu directionality template textcolor paste textcolor"
],
toolbar1: buttons,
toolbar2: "formatselect outdent indent removeformat charmap undo redo code",
toolbar3: "",
menubar: false,
toolbar_items_size: 'medium',
paste_as_text: true,
imageinsert_explorer: $('#explorer').val() + '/editor:tinymce?id=' + $(this).attr('id'),
imageinsert_edit: $('#explorer').val() + '/editor:tinymce?id=' + $(this).attr('id'),
});
})
function send_to_tinymce(content, win){
var ed = tinymce.activeEditor;
ed.insertContent(content);
ed.windowManager.close(win);
}
});
Au niveau du plugin imageinsert :
tinymce.PluginManager.add('imageinsert', function(ed, url){
ed.addButton('image', {
title: 'Insérer/Editer une image',
icon: 'image',
onclick: function(){
var el = ed.selection.getNode();
var url = tinymce.activeEditor.settings.imageinsert_explorer;
if(el.nodeName == 'IMG'){
url = tinymce.activeEditor.settings.imageinsert_edit;
url += '?src='+ed.dom.getAttrib(el, 'src')+'&alt='+ed.dom.getAttrib(el, 'alt')+'&class='+ed.dom.getAttrib(el, 'class');
}
ed.windowManager.open({
title: 'Insérer/Editer une image',
url: url,
width: 1000,
height: 600
});
}
});
});
Et la partie du code qui pose problème au niveau de la vue index.ctp du plugin Media (ligne 6) :
$('a.submit').on('click', function(){
var $this = $(this);
var html = createHtmlElement($this);
var editor = '<?php echo $editor; ?>';
var win = (!window.frameElement && window.dialogArguments) || opener || parent || top;
win.send_to_<?php echo $editor; ?>(html, window, "<?php echo $id; ?>");
return false;
});
Si vous avez une idée, je suis preneur...