当我使用roxy fileman选择文件或图像时,如果我不在tinymce源字段中使用键盘,则文件或图像不会出现在编辑器中。如果我写一个空格并且在点击" Ok"之前删除它,它工作正常。按钮。
如果没有触发keyup事件,则由tinymce图像或链接工具不考虑roxy fileman给出的路径(一条好路径)! ?
Firefox或Chrome中的相同问题。
PHP 5.5.9,TinyMCE 4,roxyfileman 1.4.3,Ubuntu 14.04
是否有一个我没有正确使用的参数?
我的代码:
<!DOCTYPE html>
<html>
<head>
<title>Test TinyMCE</title>
<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="js/tinymce/tinymce.min.js"></script>
<!-- place in header of your html document -->
</head>
<body>
<textarea id="tinymce" name="tinymce" rows="60" cols="80">
</textarea>
<script>
// This must be set to the absolute path from the site root.
var roxyFileman = '/public/fileman/index.html?integration=tinymce4';
$(function() {
tinyMCE.init({language: 'fr_FR', selector: '#tinymce', plugins: 'link image',
toolbar: "link | image", file_browser_callback: RoxyFileBrowser});
});
function RoxyFileBrowser(field_name, url, type, win) {
var cmsURL = roxyFileman; // script URL - use an absolute path!
if (cmsURL.indexOf("?") < 0) {
cmsURL = cmsURL + "?type=" + type;
}
else {
cmsURL = cmsURL + "&type=" + type;
}
cmsURL += '&input=' + field_name + '&value=' + win.document.getElementById(field_name).value;
tinyMCE.activeEditor.windowManager.open({
file: cmsURL,
title: 'Images / Fichiers',
width: 850, // Your dimensions may differ - toy around with them!
height: 650,
resizable: "yes",
plugins: "media",
inline: "yes", // This parameter only has an effect if you use the inlinepopups plugin!
close_previous: "no"
}, {
window: win,
input: field_name
});
return false;
}
</script>
</body>
</html>
&#13;
感谢您的帮助。
答案 0 :(得分:0)
在conf.js中写下编辑器的名称
现在INTEGRATION:“custom”将其替换为“INTEGRATION”:
对于Roxy Fileman与CKEditor的集成,将其设置为“ckeditor”,对于TinyMCE 3.x设置“tinymce3”,为TinyMCE 4.x设置“tinymce4”。对于自定义实现设置“custom”,然后填写位于fileman / js / custom.js中的“FileSelected()”函数 - 有关更多详细信息,请参阅“Roxy Fileman自定义集成”。默认值为“custom”。打开文件浏览器时,可以通过发送URL参数“integration”来覆盖此设置。
答案 1 :(得分:0)
这是TinyMCEs旧版file_browser_callback
的一个错误:您需要在插入链接对话框中的“要显示的文本”后面写一些内容,否则文件将不会出现在textarea中。
新的file_picker_callback
可以避免这种情况,因为它“能够更新对话框中的元数据”(see doc)。
<强>解决方案强>
作为旧版file_browser_callback
的解决方法,我在TinyMCEs链接插件的源代码中添加了一行,如果“要显示的文本”为空,则使用文件名作为文本。
在tinymce\plugins\link\plugin.min.js
的链接插件(u.title:null};
)中搜索并添加此行:
if(!u.text){u.text=e.split('\/').pop()};
或更短:
u.text||(u.text=e.split("/").pop());
<强>解释强>
u.text
是“要显示的文字”
e
是完整的路径
split("/").pop()
删除路径并保留文件名