Dans le tuto "Développer un site de A à Z Jour 6", la version de TinyMCE est la 3. Depuis la 5, la fonction "file_browser_callback" est remplacée par la fonction "file_picker_callback" qui n'a pas de paramètre url dans les exemples trouvés sur le site.
Entre autres changements, l'editor.windowManager.open est remplacé par openUrl. Et il n'y a plus de script "tinymce_popup_js". Les popups sont appelées dialogs.
J'ai ajouté dans le code le nouvel editor.windowManager.openUrl.
tinymce.activeEditor.windowManager.openUrl({
title: 'Gallerie',
url: "http://localhost/www/Tuto/pilote/medias/index/", //intégration de code php impossible
width: 420,
height: 400,
resizable: 'yes',
inline: 'no',
close_previous: 'no'
});
Voici le code complet de tinymce init, qui fonctionne, sauf deux problèmes :
J'avoue avoir un peu du mal avec js... Quelqu'un pourrait m'aider ?
"tinymce.init({
selector: 'textarea#inputcontent',
language: 'fr_FR',
language_url: '<?php echo Rooter::webroot("js/tinymce/langs/fr_FR.js"); ?>',
browser_spellcheck: true,
contextmenu: true,
plugins : 'advlist autolink link image imagetools media advcode lists charmap print preview insertfile insertdatetime table advtable anchor',
a11y_advanced_options: true,
image_advtab: true,
images_reuse_filename: true,
images_upload_url: 'upload.php',
toolbar: 'undo redo | bold italic underline strikethrough | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | outdent indent | link unlink | image | preview',
file_picker_types: 'image media',
file_picker_callback: function (cb, value, meta) {
tinymce.activeEditor.windowManager.openUrl({
title: 'Gallerie',
url: "http://localhost/www/Tuto/pilote/medias/index/",
width: 420,
height: 400,
resizable: 'yes',
inline: 'no',
close_previous: 'no'
});
var input = document.createElement('input');
input.setAttribute('type', 'file');
input.setAttribute('accept', 'image/*', 'video/*');
/*
Note: In modern browsers input[type="file"] is functional without
even adding it to the DOM, but that might not be the case in some older
or quirky browsers like IE, so you might want to add it to the DOM
just in case, and visually hide it. And do not forget do remove it
once you do not need it anymore.
*/
input.onchange = function () {
var file = this.files[0];
var reader = new FileReader();
reader.onload = function () {
/*
Note: Now we need to register the blob in TinyMCEs image blob
registry. In the next release this part hopefully won't be
necessary, as we are looking to handle it internally.
*/
var id = 'blobid' + (new Date()).getTime();
var blobCache = tinymce.activeEditor.editorUpload.blobCache;
var base64 = reader.result.split(',')[1];
var blobInfo = blobCache.create(id, file, base64);
blobCache.add(blobInfo);
/* call the callback and populate the Title field with the file name */
cb(blobInfo.blobUri(), { title: file.name });
};
reader.readAsDataURL(file);
};
input.click();
},
content_style: 'body { font-family:Philosopher,Helvetica,Arial,sans-serif; font-size:20p }'
});
"
Merci